1. 程式人生 > >Maven的內建屬性

Maven的內建屬性

Maven共有6類屬性:
  ①內建屬性(Maven預定義屬性,使用者可以直接使用)
    ${basedir}表示專案的根路徑,即包含pom.xml檔案的目錄
    ${version}表示專案版本
    ${project.basedir}同${basedir}
    ${project.baseUri}表示專案檔案地址
    ${maven.build.timestamp}表示專案構建開始時間
    ${maven.build.timestamp.format}表示${maven.build.timestamp}的展示格式,預設值為yyyyMMdd-HHmm
  ②pom屬性(使用pom屬性可以引用到pom.xml檔案中對應元素的值)
    ${project.build.sourceDirectory}表示主原始碼路徑,預設為src/main/java/
    ${project.build.testSourceDirectory}表示測試原始碼路徑,預設為src/test/java/
    ${project.build.directory}表示專案構建輸出目錄,預設為target/
    ${project.outputDirectory}表示專案測試程式碼編譯輸出目錄,預設為target/classes/
    ${project.groupId}表示專案的groupId
    ${project.artifactId}表示專案的artifactId
    ${project.version}表示專案的version,同${version}
    ${project.build.finalName}表示專案打包輸出檔案的名稱,預設為${project.artifactId}${project.version}
  ③自定義屬性(在pom.xml檔案的<properties>標籤下定義的Maven屬性)
    定義屬性:
    <project>
      <properties>
        <mysql.version>5.6.32</mysql.version>
      </properties>
    </project>
    使用屬性:
    <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
    </dependency>
  ④setting.xml檔案屬性(與pom屬性同理,使用者可以用settings.開頭的屬性引用setting.xml檔案的xml元素值)
    ${settings.localRepository}表示本地倉庫的地址
  ⑤Java系統屬性(所有的Java屬性都可以使用Maven屬性引用)
    mvn help:system 可以檢視所有的Java屬性
    System.getProperties() 可以得到所有的Java屬性
    ${user.home} 表示使用者目錄
  ⑥環境變數屬性(所有的環境變數都可以以env.開頭的Maven屬性引用)
    mvn help:system 可檢視所有的環境變數
    ${env.JAVA_HOME} 表示JAVA_HOME環境變數的值