【Maven】003-基于 IDEA 創(chuàng)建 Maven 工程
一、關(guān)于 Maven 工程的 GAVP
1、GAVP 簡(jiǎn)介
Maven工程的 GAVP 指的是 Group、Artifact、Version、Packaging。這是 Maven 項(xiàng)目的基本坐標(biāo),用于唯一標(biāo)識(shí)和定位項(xiàng)目。
-
Group(組織): 表示項(xiàng)目所屬的組織或公司,一般以域名的反轉(zhuǎn)形式命名。例如,
com.example
。 -
Artifact(項(xiàng)目名): 表示項(xiàng)目的名稱,即項(xiàng)目的唯一標(biāo)識(shí)符。例如,
my-project
。 -
Version(版本): 表示項(xiàng)目的版本號(hào)。Maven使用語義化版本號(hào)(Semantic Versioning)規(guī)范,例如,
1.0.0
。 -
Packaging(打包方式): 表示項(xiàng)目的打包方式,通常是 JAR、WAR、或者其他格式。例如,
jar
。
這些元素一起組成了一個(gè)唯一的 GAVP 坐標(biāo),用于在 Maven 倉(cāng)庫中標(biāo)識(shí)和檢索項(xiàng)目的特定版本。在項(xiàng)目的pom.xml
文件中,你可以看到類似以下的配置:
<groupId>com.example</groupId>
<artifactId>my-project</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
2、GAV 坐標(biāo)規(guī)范
-
GroupID 格式:
- 使用格式為com.{公司/BU}.業(yè)務(wù)線.[子業(yè)務(wù)線],最多4級(jí)。
- {公司/BU} 例如:alibaba/taobao/tmall/aliexpress等,BU一級(jí);子業(yè)務(wù)線可選。
- 示例:com.taobao.tddl 或 com.alibaba.sourcing.multilang。
-
ArtifactID 格式:
- 使用格式為產(chǎn)品線名-模塊名。
- 語義不重復(fù)不遺漏,建議先到倉(cāng)庫中心查證。
- 示例:tc-client / uic-api / tair-tool / bookstore。
-
Version版本號(hào)格式推薦:
- 主版本號(hào).次版本號(hào).修訂號(hào)。
- 主版本號(hào):做了不兼容的API修改或增加了能改變產(chǎn)品方向的新功能。
- 次版本號(hào):做了向下兼容的功能性新增,如新增類、接口等。
- 修訂號(hào):修復(fù)bug,沒有修改方法簽名的功能增強(qiáng),保持API兼容性。
- 例如:初始→1.0.0,修改bug→1.0.1,功能調(diào)整→1.1.1等。
3、Packaging 定義規(guī)則
項(xiàng)目打包類型及packaging屬性說明:
-
jar類型:
-
packaging
屬性為jar
(默認(rèn)值)。 - 代表普通的 Java 工程,打包后生成以
.jar
結(jié)尾的文件。
-
-
war類型:
-
packaging
屬性為war
。 - 代表 Java 的 web 工程,打包后生成以
.war
結(jié)尾的文件。
-
-
pom類型:
-
packaging
屬性為pom
。 - 代表不會(huì)進(jìn)行實(shí)際的打包操作,主要用于做繼承的父工程。
-
在使用 IDEA 等工具時(shí),根據(jù)項(xiàng)目的packaging
值,可以識(shí)別項(xiàng)目的類型。這有助于工具在構(gòu)建、部署等方面的正確操作。
二、基于 IDEA 創(chuàng)建 Maven 工程
1、創(chuàng)建 Maven 項(xiàng)目
2、創(chuàng)建結(jié)果
3、項(xiàng)目結(jié)構(gòu)說明
下面是常規(guī)結(jié)構(gòu)說明,未嚴(yán)格按照“創(chuàng)建結(jié)果”進(jìn)行!
Maven 項(xiàng)目通常遵循一定的標(biāo)準(zhǔn)結(jié)構(gòu),這有助于組織和管理項(xiàng)目的源代碼、資源文件以及構(gòu)建配置。以下是一般的 Maven 項(xiàng)目結(jié)構(gòu)說明:文章來源:http://www.zghlxwxcb.cn/news/detail-810126.html
-
src 目錄:
- src/main/java:主要的Java源代碼目錄。
- src/main/resources:主要的資源文件目錄,如配置文件等。
- src/test/java:測(cè)試用例的Java源代碼目錄。
- src/test/resources:測(cè)試用例的資源文件目錄。
-
target 目錄:
- 構(gòu)建輸出目錄,包括編譯后的類文件、打包后的JAR/WAR文件等。Maven默認(rèn)會(huì)將構(gòu)建輸出放在此目錄。
-
pom.xml:
- 項(xiàng)目的POM(Project Object Model)文件,包含項(xiàng)目的配置信息、依賴管理等。
-
.gitignore(可選):
- Git版本控制的忽略文件配置,用于指定哪些文件或目錄不納入版本管理。
-
.mvn目錄(可選):
- 包含 Maven 的配置文件,例如
.mvn/wrapper/maven-wrapper.properties
,用于支持 Maven Wrapper。
- 包含 Maven 的配置文件,例如
-
其他自定義目錄:
- 根據(jù)項(xiàng)目的需要,可能會(huì)有其他自定義的目錄,例如存放文檔、腳本或其他資源的目錄。
示例結(jié)構(gòu):文章來源地址http://www.zghlxwxcb.cn/news/detail-810126.html
my-maven-project
|-- src
| |-- main
| |-- java
| |-- resources
|-- target
|-- pom.xml
|-- .gitignore
|-- .mvn
|-- wrapper
|-- maven-wrapper.properties
到了這里,關(guān)于【Maven】003-基于 IDEA 創(chuàng)建 Maven 工程的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!