[Maven 基礎課程]第一個 Maven 項目

idea 新建一個項目:

來到 New Project 頁面:

這里我們有兩種方式創建 maven 項目,一種是自定義創建,另一種是使用 maven 模版項目創建。

自定義創建 maven 項目

基本配置

  1. Name: first_maven_project

項目名稱,設為 first_maven_project。這是項目的顯示名稱,也會影響項目文件夾的默認命名。

  1. Location: E:\javaProjects

項目存儲路徑,設為 E:\javaProjects。提示信息顯示項目將被創建在 E:\javaProjects\first_maven_project 目錄下。

  1. Build system: Maven

選擇了 Maven 作為構建系統(而不是 IntelliJ 或 Gradle)。這表示項目將使用 Maven 管理依賴和構建流程。

  1. JDK: 1.8 (Oracle OpenJDK version 1.8.0_401)

指定了項目的 JDK 版本為 Oracle OpenJDK 1.8.0_401。這決定了編譯和運行時的 Java 環境版本。

高級設置

  1. Add sample code (checked)

勾選了“添加示例代碼”選項。創建項目時,IntelliJ 會自動生成一個簡單的 Maven 項目結構,包括示例代碼(如 pom.xml 和一個基本的 Java 類),幫助用戶快速開始。

  1. Generate code with onboarding tips (unchecked)

未勾選“生成帶有入職提示的代碼”選項。如果勾選,生成的代碼中可能會包含一些注釋或提示,幫助新手理解項目結構和用法。

  1. GroupId: com.example

Maven 的 groupId,通常表示組織或公司域名的反轉(如 com.example 表示一個示例組織)。這是項目的唯一標識符的一部分,用于區分不同項目。

  1. ArtifactId: first_maven_project

Maven 的 artifactId,表示項目的名稱或模塊名稱,與項目文件夾名稱一致。這里是 first_maven_project。它與 groupId 一起組成項目的完整坐標(如 com.example:first_maven_project)。

其他信息

  1. Create Git repository (unchecked)

未勾選“創建 Git 倉庫”選項。如果勾選,IntelliJ 會初始化一個 Git 倉庫,以便版本控制。

使用模板創建

基本配置

  1. Name: first_maven_project

項目名稱,設為 first_maven_project。這是項目的顯示名稱,也會影響項目文件夾的默認命名。

  1. Location: E:\javaProjects

項目存儲路徑,設為 E:\javaProjects。提示信息顯示項目將被創建在 E:\javaProjects\first_maven_project 目錄下。

  1. Create Git repository (unchecked)

未勾選“創建 Git 倉庫”選項。如果勾選,IntelliJ 會初始化一個 Git 倉庫用于版本控制。

  1. JDK: 1.8 (Oracle OpenJDK version 1.8.0_401)

指定了項目的 JDK 版本為 Oracle OpenJDK 1.8.0_401。這決定了編譯和運行時的 Java 環境版本。

Maven Archetype 配置

  1. Catalog: Internal

選擇了 Maven Archetype 的目錄為“Internal”,表示使用 IntelliJ 內置的 Archetype 模板。可以通過“Manage catalogs…”調整或添加其他 Archetype 目錄。

  1. Archetype: (none selected)

目前未選擇具體的 Archetype 模板。Archetype 是 Maven 項目模板(如 maven-archetype-quickstart 用于簡單 Java 項目),需要從下拉列表中選擇一個,或點擊“Add…”手動添加。

這里我們一般使用 maven-archetype-quickstart 這個模板。

  1. Version: (none selected)

目前未指定 Archetype 版本。需要選擇一個版本(如 1.0 或 RELEASE),取決于所選 Archetype 的可用版本。

  1. Additional Properties: (none)

目前未添加額外的屬性。可以通過“+”按鈕添加自定義屬性,用于進一步配置 Archetype。

高級設置

  1. GroupId: com.example

Maven 的 groupId,通常表示組織或公司域名的反轉(如 com.example 表示一個示例組織)。這是項目的唯一標識符的一部分。

  1. ArtifactId: first_maven_project

Maven 的 artifactId,表示項目的名稱或模塊名稱,與項目文件夾名稱一致。這里是 first_maven_project。它與 groupId 一起組成項目的完整坐標(如 com.example:first_maven_project)。

  1. Version: 1.0-SNAPSHOT

項目版本號,設為 1.0-SNAPSHOT。SNAPSHOT 表示這是一個開發中的版本,通常用于表示不穩定的構建。

你也可以使用 maven 命令根據 maven archetype 創建一個 maven 項目:

mvn archetype:generate \-DgroupId=com.example \-DartifactId=first_maven_project \-DarchetypeArtifactId=maven-archetype-quickstart \-DinteractiveMode=false
參數含義
-DgroupId組織名(如公司域名倒寫)
-DartifactId項目名稱(會成為項目文件夾名)
-DarchetypeArtifactId使用的模板(quickstart 是基礎 Java 項目)
-DinteractiveMode=false非交互模式(避免手動確認)

archetype:generate 的參數可以參考:https://maven.apache.org/archetype/maven-archetype-plugin/generate-mojo.html

運行項目

如果是自定義創建的一個 maven 項目,你會看到如下的內容:

打開 Main.java 文件,點擊綠色的按鈕即可運行 main 入口方法。

如果你是通過 maven 模板創建一個 Maven 項目,你會看到如下的內容:

maven-archetype-quickstart 會給你生成一個 App.java,打開這個文件,點擊綠色的按鈕即可運行 main 入口方法:

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/922398.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/922398.shtml
英文地址,請注明出處:http://en.pswp.cn/news/922398.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

uni小程序中使用Echarts圖表

前言 今天雞米花給大家帶來的是在uni里面使用echarts,能夠完美支持和PC端一樣的效果,我這邊的工程是uni轉為微信小程序,用的是vue3vite來寫的,然后實現了豎屏和橫屏的展示方式,好了獻上效果圖。 效果圖 一、引入插件 這…

從FOTA測試到汽車電子安全體系的啟蒙之旅

我是穿拖鞋的漢子,魔都中堅持長期主義的汽車電子工程師。 老規矩,分享一段喜歡的文字,避免自己成為高知識低文化的工程師: 做到欲望極簡,了解自己的真實欲望,不受外在潮流的影響,不盲從,不跟風。把自己的精力全部用在自己。一是去掉多余,凡事找規律,基礎是誠信;二是…

stm32中 中斷和事件的區別

一、核心概念比喻想象一下工廠里的一個報警系統:?中斷 (Interrupt)??:就像火警警報器響了。它的目的是通知管理員(CPU)??:“著火了!”。管理員聽到后,會停下手中的工作(保存現場…

深入理解MySQL主從架構中的Seconds_Behind_Master指標

問題:主從延遲與寫后讀不一致 在典型的 MySQL 主從架構下,所有寫操作都會直接進入主庫,而讀操作大多分流到從庫,從而實現讀寫分離,緩解主庫壓力。 然而 MySQL 的復制機制是異步的:主庫先寫入 binlog&#…

MySQL安裝(linux版本)

MySQL安裝(linux版本) 課程地址 08. 進階-MySQL安裝(linux版本)_嗶哩嗶哩_bilibili 安裝過程中所有需要的程序都放在網盤里了 通過網盤分享的文件:虛擬機 鏈接: https://pan.baidu.com/s/1eLMD2iq1uEujNN7mWs2dIg?pwdckmh 提取碼: ckmh …

OpenCV 圖像雙三次BSpline插值

文章目錄 一、簡介 二、實現代碼 三、實現效果 參考資料 一、簡介 之前我們介紹過BSpline曲線,一條B樣條曲線可以被定義成 n + 1 n+1 n+1個控制點的集合 { Q i } i = 0 n {\{Q_i\}}^{n}_{i=0}

Prometheus+Grafana構建企業級監控方案

1.prometheus工作原理: Prometheus將指標收集并存儲為時間序列數據庫(時序數據庫),即指標信息與記錄它的時間戳一起存儲,以及稱為標簽的可選鍵值對。 特性: 具有由指標名稱和鍵/值對識別的時間序列數據的…

第23課:行業解決方案設計

第23課:行業解決方案設計 課程目標 掌握金融、醫療、教育等行業應用 學習領域特定Agent設計 了解行業標準集成 實踐設計行業解決方案 課程內容 23.1 金融行業解決方案 金融Agent系統 class FinancialAgentSystem {constructor() {this.agents =

Go語言快速入門教程(JAVA轉go)——2 環境搭建與入門

安裝go Go官網下載地址:https://golang.org/dl/ 中國區官方鏡像站(推薦):https://golang.google.cn/dl/ windows安裝 下載好后選擇安裝路徑即可,安裝完成后,winr 輸入cmd調出命令行窗口,輸入…

ffplay播放pcm

用 ffplay 播放 PCM 裸流時&#xff0c;必須手動告訴它“沒有封裝頭、采樣率、聲道數、采樣格式”四個關鍵點。命令模板如下&#xff1a; ffplay -f <采樣格式> -ar <采樣率> -ac <聲道數> -i <pcm文件>常用組合示例 48 kHz、16 bit、小端、雙聲道 ffp…

【LLM】大模型訓練中的穩定性問題

訓練穩定性問題 &#x1f4cb; 概述 本文檔詳細介紹了在項目中解決訓練穩定性問題的方法、原理分析以及實際應用。涵蓋了梯度裁剪、損失函數優化、數值穩定化處理和學習率調度等關鍵技術。&#x1f6a8; 問題描述 現象: 訓練過程中出現數值不穩定&#xff0c;損失函數波動劇烈 …

【linux系統】6. 基礎開發工具(一)

一. 軟件包管理器 1&#xff09;Linux下安裝軟件的常用方法 1. 源代碼安裝 下載程序的源代碼&#xff0c;本地編譯成二進制文件&#xff0c;拷貝到系統指定路徑下。 2. rpm包安裝 已經編譯好的安裝包&#xff0c;使用rpm對應的指令去安裝&#xff0c;也比較麻煩。 3. 包…

ffplay數據結構分析

struct VideoState 播放器封裝 typedef struct VideoState {SDL_Thread *read_tid; // 讀線程句柄AVInputFormat *iformat; // 指向demuxerint abort_request; // 1時請求退出播放int force_refresh; // 1時刷新畫面&#xff0c;請求立即刷新畫面的意思int paused; …

OpenCV:銀行卡號識別

目錄 一、項目原理與核心技術 二、環境準備與工具包導入 1. 環境依賴 2. 工具包導入 三、自定義工具類 myutils.py 實現 四、主程序核心流程&#xff08;銀行卡識別.py&#xff09; 1. 命令行參數設置 2. 銀行卡類型映射 3. 輔助函數&#xff1a;圖像展示 五、步驟 1…

基于spark的澳洲光伏發電站選址預測

基于spark的澳洲光伏發電站選址預測項目概況 [&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;&#x1f447;] 點這里,查看所有項目 [&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x1f446;&#x…

Kibana 雙棧網絡(Dual-Stack)支持能力評估

#作者&#xff1a;Unstopabler 文章目錄一&#xff0e;測試目標二&#xff0e;測試環境三&#xff0e;Kibana1、查詢 Kibana pod信息2、查詢Kibana service信息3、Kibana service 設置四&#xff0e;驗證測試1、Kibana 監聽參數設置2、Kibana節點IPv4狀態檢查3、Kibana節點IPv6…

標準CAN幀介紹

標準CAN幀介紹標準CAN&#xff08;Controller Area Network&#xff09;結構1.幀起始&#xff08;SOF-Start Of Frame&#xff09;2.仲裁段&#xff08;Arbitration Field&#xff09;3.控制段&#xff08;Control Field&#xff09;4.數據段&#xff08;Data Field&#xff09…

easyPoi實現動表頭Excel的導入和導出

easyPoi實現動表頭Excel的導入和導出 Maven依賴 !-- EasyPoi 核心依賴 --><dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.4.0</version></dependency><!-- EasyPoi Web…

瘋狂星期四文案網第67天運營日記

網站運營第67天&#xff0c;點擊觀站&#xff1a; 瘋狂星期四 crazy-thursday.com 全網最全的瘋狂星期四文案網站 運營報告 今日訪問量 今日搜索引擎收錄情況

CAS理解

CAS&#xff08;Compare And Swap&#xff09; 是非阻塞同步的實現原理&#xff0c;它是CPU硬件層面的一種指令&#xff1b; CAS制定操作包含三個參數 內存值&#xff08;內存地址&#xff09;v預期值E新增值N 當CAS指令執行時&#xff0c;當且僅當預期值E和內存值V相同時&…