1. 程式人生 > >maven內建屬性詳細說明

maven內建屬性詳細說明

Maven共有6類屬性:

1.內建屬性(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>

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

${project.build.directory}表示主原始碼路徑,預設為target;
${project.build.outputDirectory} 構建過程輸出目錄,預設為target/classes
${project.build.sourceEncoding}表示主原始碼的編碼格式;
$

{project.build.sourceDirectory}表示主原始碼路徑;
${project.build.finalName}表示輸出檔名稱,預設為${project.artifactId}-${project.version};
${project.packaging} 打包型別,預設為jar;
${project.version}表示專案版本,與${version}相同;

3.自定義屬性

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

<project>
  <properties>
    <my.pro
>
abc</my.pro> </properties> </project>

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

4.settings.xml檔案屬性

與pom屬性同理,使用者使用以settings.開頭的屬性引用settings.xml檔案中的XML元素值
${settings.localRepository}表示本地倉庫的地址;

5.Java系統屬性

所有的Java系統屬性都可以使用Maven屬性引用
使用mvn help:system命令可檢視所有的Java系統屬性;
System.getProperties()可得到所有的Java屬性;
${user.home}表示使用者目錄;

6.環境變數屬性

所有的環境變數都可以用以env.開頭的Maven屬性引用
使用mvn help:system命令可檢視所有環境變數;
${env.JAVA_HOME}表示JAVA_HOME環境變數的值;