maven pom.xml 各標籤說明
1、 <properties>
properties(Maven屬性)
通過<properties>元素使用者可以自定義一個或多個Maven屬性,然後在POM的其他地方使用${屬性名}的方式引用該屬性,這種做法的最大意義在於消除重複和統一管理。
Maven總共有6類屬性,內建屬性、POM屬性、自定義屬性、Settings屬性、java系統屬性和環境變數屬性;
1.內建屬性
兩個常用內建屬性 ${basedir} 表示專案跟目錄,即包含pom.xml檔案的目錄;${version} 表示專案版本
2.POM屬性
使用者可以使用該類屬性引用POM檔案中對應元素的值。如${project.artifactId}
${project.build.sourceDirectory}:專案的主原始碼目錄,預設為src/main/java/
${project.build.testSourceDirectory}:專案的測試原始碼目錄,預設為src/test/java/
${project.build.directory} : 專案構建輸出目錄,預設為target/
${project.outputDirectory} : 專案主程式碼編譯輸出目錄,預設為target/classes/
${project.testOutputDirectory}:專案測試主程式碼輸出目錄,預設為target/testclasses/
${project.groupId}:專案的groupId
${project.artifactId}:專案的artifactId
${project.version}:專案的version,與${version} 等價
${project.build.finalName}:專案打包輸出檔案的名稱,預設為${project.artifactId}-${project.version}
3.自定義屬性
如下account-aggregator的pom.xml,那麼繼承了此pom.xml的子模組也可以用此自定義屬性
View Code
4.Settings屬性
與POM屬性同理,使用者使用以settings. 開頭的屬性引用settings.xml檔案中的XML元素的值。
5.Java系統屬性
所有java系統屬性都可以用Maven屬性引用,如${user.home}指向了使用者目錄。
6.環境變數屬性
所有環境變數屬性都可以使用以env. 開頭的Maven屬性引用,如${env.JAVA_HOME}指代了JAVA_HOME環境變數的的值。