maven pom.xml介紹
這里要使用Maven的achetype機(jī)制,一個(gè)achetype被定義成一個(gè)原始的模式或者模型。在Maven里,archetype是一個(gè)項(xiàng)目的模板,通過這個(gè)模板,再加上一些用戶的輸入就產(chǎn)生了一個(gè)可以工作的、符合用戶需要的Maven項(xiàng)目。
下面開始創(chuàng)建第一個(gè)項(xiàng)目,執(zhí)行一下命令行:
Mvn archetype:create –DgroupId=com.mycompany.app –DartifactId=my-app
一旦執(zhí)行了以上命令,你會(huì)發(fā)現(xiàn)maven為這個(gè)新項(xiàng)目創(chuàng)建了一個(gè)名為my-app的目錄,同時(shí)此目錄中有一個(gè)pom.xml文件,文件內(nèi)容如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0 </modelVersion>
<groupId>com.mycompany.app </groupId>
<artifactId>my-app </artifactId>
<packaging>jar </packaging>
<version>1.0-SNAPSHOT </version>
<name>Maven Quick Start Archetype </name>
<url>http://maven.apache.org </url>
<dependencies>
<dependency>
<groupId>junit </groupId>
<artifactId>junit </artifactId>
<version>3.8.1 </version>
<scope>test </scope>
</dependency>
</dependencies>
</project>
Pom.xml包含項(xiàng)目對(duì)象模型(POM)。POM是Maven的基本單元,記住,Maven是以項(xiàng)目為中心的,所有的東西都圍繞項(xiàng)目展開。簡(jiǎn)而言之,POM包含項(xiàng)目的所有重要信息,并且本質(zhì)上提供了一站式的項(xiàng)目信息。關(guān)于pom的詳細(xì)介紹,請(qǐng)參考《POM介紹》。
下面是pom中的一些重要元素:
Ø project:pom.xml文件中的頂層元素;
Ø modelVersion:指明POM使用的對(duì)象模型的版本。這個(gè)值很少改動(dòng)。
Ø groupId:指明創(chuàng)建項(xiàng)目的組織或者小組的唯一標(biāo)識(shí)。GroupId是項(xiàng)目的關(guān)鍵標(biāo)識(shí),典型的,此標(biāo)識(shí)以組織的完全限定名來(lái)定義。比如,org.apache.maven.plugins是所有Maven插件項(xiàng)目指定的groupId。
Ø artifactId:指明此項(xiàng)目產(chǎn)生的主要產(chǎn)品的基本名稱。項(xiàng)目的主要產(chǎn)品通常為一個(gè)JAR文件。第二,象源代碼包通常使用artifactId作為最 后名稱的一部分。典型的產(chǎn)品名稱使用這個(gè)格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。
Ø version:項(xiàng)目產(chǎn)品的版本號(hào)。Maven幫助你管理版本,可以經(jīng)常看到SNAPSHOT這個(gè)版本,表明項(xiàng)目處于開發(fā)階段。
Ø name:項(xiàng)目的顯示名稱,通常用于maven產(chǎn)生的文檔中。
Ø url:指定項(xiàng)目站點(diǎn),通常用于maven產(chǎn)生的文檔中。
Ø description:描述此項(xiàng)目,通常用于maven產(chǎn)生的文檔中。
POM中所有元素的說(shuō)明,請(qǐng)參考《POM參考》。
產(chǎn)生了第一個(gè)項(xiàng)目的archetype后,你可以發(fā)現(xiàn)maven為你創(chuàng)建了如下的目錄結(jié)構(gòu):
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
從archetype產(chǎn)生的項(xiàng)目有一個(gè)POM,一個(gè)源代碼樹,以及一個(gè)測(cè)試代碼樹,這是maven項(xiàng)目的標(biāo)準(zhǔn)布局(應(yīng)用程序源碼位 于${basedir}/src/main/java,而測(cè)試源碼位于${basedir}/src/test/java,這里${basedir}代表 包含pom.xml的根目錄)。
下面開始創(chuàng)建第一個(gè)項(xiàng)目,執(zhí)行一下命令行:
Mvn archetype:create –DgroupId=com.mycompany.app –DartifactId=my-app
一旦執(zhí)行了以上命令,你會(huì)發(fā)現(xiàn)maven為這個(gè)新項(xiàng)目創(chuàng)建了一個(gè)名為my-app的目錄,同時(shí)此目錄中有一個(gè)pom.xml文件,文件內(nèi)容如下所示:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0 </modelVersion>
<groupId>com.mycompany.app </groupId>
<artifactId>my-app </artifactId>
<packaging>jar </packaging>
<version>1.0-SNAPSHOT </version>
<name>Maven Quick Start Archetype </name>
<url>http://maven.apache.org </url>
<dependencies>
<dependency>
<groupId>junit </groupId>
<artifactId>junit </artifactId>
<version>3.8.1 </version>
<scope>test </scope>
</dependency>
</dependencies>
</project>
Pom.xml包含項(xiàng)目對(duì)象模型(POM)。POM是Maven的基本單元,記住,Maven是以項(xiàng)目為中心的,所有的東西都圍繞項(xiàng)目展開。簡(jiǎn)而言之,POM包含項(xiàng)目的所有重要信息,并且本質(zhì)上提供了一站式的項(xiàng)目信息。關(guān)于pom的詳細(xì)介紹,請(qǐng)參考《POM介紹》。
下面是pom中的一些重要元素:
Ø project:pom.xml文件中的頂層元素;
Ø modelVersion:指明POM使用的對(duì)象模型的版本。這個(gè)值很少改動(dòng)。
Ø groupId:指明創(chuàng)建項(xiàng)目的組織或者小組的唯一標(biāo)識(shí)。GroupId是項(xiàng)目的關(guān)鍵標(biāo)識(shí),典型的,此標(biāo)識(shí)以組織的完全限定名來(lái)定義。比如,org.apache.maven.plugins是所有Maven插件項(xiàng)目指定的groupId。
Ø artifactId:指明此項(xiàng)目產(chǎn)生的主要產(chǎn)品的基本名稱。項(xiàng)目的主要產(chǎn)品通常為一個(gè)JAR文件。第二,象源代碼包通常使用artifactId作為最 后名稱的一部分。典型的產(chǎn)品名稱使用這個(gè)格式: <artifactId>- <version>. <extension>(比如:myapp-1.0.jar)。
Ø version:項(xiàng)目產(chǎn)品的版本號(hào)。Maven幫助你管理版本,可以經(jīng)常看到SNAPSHOT這個(gè)版本,表明項(xiàng)目處于開發(fā)階段。
Ø name:項(xiàng)目的顯示名稱,通常用于maven產(chǎn)生的文檔中。
Ø url:指定項(xiàng)目站點(diǎn),通常用于maven產(chǎn)生的文檔中。
Ø description:描述此項(xiàng)目,通常用于maven產(chǎn)生的文檔中。
POM中所有元素的說(shuō)明,請(qǐng)參考《POM參考》。
產(chǎn)生了第一個(gè)項(xiàng)目的archetype后,你可以發(fā)現(xiàn)maven為你創(chuàng)建了如下的目錄結(jié)構(gòu):
my-app
|-- pom.xml
`-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
`-- test
`-- java
`-- com
`-- mycompany
`-- app
`-- AppTest.java
從archetype產(chǎn)生的項(xiàng)目有一個(gè)POM,一個(gè)源代碼樹,以及一個(gè)測(cè)試代碼樹,這是maven項(xiàng)目的標(biāo)準(zhǔn)布局(應(yīng)用程序源碼位 于${basedir}/src/main/java,而測(cè)試源碼位于${basedir}/src/test/java,這里${basedir}代表 包含pom.xml的根目錄)。
posted on 2009-02-14 16:32 草原上的駱駝 閱讀(2853) 評(píng)論(0) 編輯 收藏 所屬分類: 項(xiàng)目管理