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,可自定義其格式,其型別可參考java.text.SimpleDateFormat。用法如下:

<properties>

<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>

</properties>

POM屬性(使用pom屬性可以引用到pom.xml檔案對應元素的值)

${project.build.directory}表示主原始碼路徑;

${project.build.sourceEncoding}表示主原始碼的編碼格式;

${project.build.sourceDirectory}表示主原始碼路徑;

${project.build.finalName}表示輸出檔名稱;

${project.version}表示專案版本,與${version}相同;

自定義屬性(在pom.xml檔案的<properties>標籤下定義的Maven屬性)

<project>

  <properties>

    <my.pro>abc</my.pro>

  </properties>

</project>

在其他地方使用${my.pro}使用該屬性值。

settings.xml檔案屬性(與pom屬性同理,使用者使用以settings.開頭的屬性引用settings.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環境變數的值;

參考如下: