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.finalName}表示輸出檔名稱,預設為${project.artifactId}-${project.version};
${project.packaging} 打包型別,預設為jar;
${project.version}表示專案版本,與${version}相同;
3.自定義屬性
在pom.xml檔案的
<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環境變數的值;