繼續之前創建的test項目,一個基本項目的pom.xml文件,通常至少有三個部分
第一部分,項目坐標,信息描述等
<modelVersion>4.0.0</modelVersion> <groupId>com.company.project</groupId> <artifactId>module</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>test Maven Webapp</name> <url>http://maven.apache.org</url>
modelVersion:pom文件的模型版本
關於group id和artifact id,為了便於多人多模塊協同開發管理(以后會講),建議使用以下命名規范
group id:com.公司名.項目名
artifact id:功能模塊名
packaging:項目打包的后綴,war是web項目發布用的,默認為jar
version: artifact模塊的版本
name和url:相當於項目描述,可刪除
group id + artifact id +version :項目在倉庫中的坐標
第二部分,引入jar包
<dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies>
這是創建項目時自動生成的,將junit-3.8.1.jar引入到項目中。
dependency:引入資源jar包到本地倉庫,要引入更多資源就在<dependencies>中繼續增加<dependency>
group id+artifact id+version:資源jar包在倉庫中的坐標
scope:作用范圍,test指該jar包僅在maven測試時使用,發布時會忽略這個包。需要發布的jar包可以忽略這一配置
剛開始本地倉庫是空的,maven會從遠程倉庫自動下載這個jar到本地倉庫,下載完后,就可以在項目中使用這個jar了
如果將<dependency>的內容刪除,junit-3.8.1.jar也會自動消失,無法使用
第三部分,構建項目
<build> <finalName>helloworld</finalName> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.0.1</version> <configuration> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build>
build:項目構建時的配置
finalName:在瀏覽器中的訪問路徑,如果將它改成helloworld,再執行maven--update,這時運行項目的訪問路徑是
http://localhost:8080/helloworld/ 而不是項目名的 http://localhost:8080/test
plugins:插件,之前篇章已經說過,第一個插件是用來設置java版本為1.7,第二個插件是我剛加的,用來設置編碼為utf-8
group id+artifact id+version:插件在倉庫中的坐標
configuration:設置插件的參數值