Maven(4)--POM配置
屬性
通過<properties>元素用戶可以自定義一個或多個Maven屬性,然后在POM的其他地方使用${屬性名}的方式引用該屬性,這種做法的最大意義在于消除重復和統一管理。
Maven總共有6類屬性,內置屬性、POM屬性、自定義屬性、Settings屬性、java系統屬性和環境變量屬性。
內置屬性
內置屬性是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文件中對應元素的值。如${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}
自定義屬性
用戶在Pom文件<properties>元素下定義的屬性。
<project><properties><my.pro>abc</my.pro></properties> </project>Settings屬性
與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環境變量的值
參考:
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
http://maven.apache.org/pom.html
http://maven.apache.org/settings.html
?
?
總結
以上是生活随笔為你收集整理的Maven(4)--POM配置的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Maven(3)--聚合与继承
- 下一篇: Maven(5)--常用插件
