1. 程式人生 > >maven pom.xml 各標籤說明

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> <artifactId>元素的值,常用的POM屬性包括:

    ${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環境變數的的值。