Maven屬性(properties)

王某某 2017年2月

通過<properties>元素用戶可以自定義一個或多個Maven屬性,然后在POM的其他地方使用${屬性名}的方式引用該屬性,這種做法的最大意義在于消除重復(fù)和統(tǒng)一管理。

Maven總共有6類屬性,內(nèi)置屬性、POM屬性、自定義屬性、Settings屬性、java系統(tǒng)屬性和環(huán)境變量屬性;

  1. 內(nèi)置屬性
    兩個常用內(nèi)置屬性 ${basedir} 表示項目跟目錄,即包含pom.xml文件的目錄;${version} 表示項目版本

  2. POM屬性
    用戶可以使用該類屬性引用POM文件中對應(yīng)元素的值。如${project.artifactId}就對應(yīng)了<project> <artifactId>元素的值,常用的POM屬性包括:

  • ${project.build.sourceDirectory}:項目的主源碼目錄,默認為src/main/java/
  • ${project.build.testSourceDirectory}:項目的測試源碼目錄,默認為src/test/java/
  • ${project.build.directory} : 項目構(gòu)建輸出目錄,默認為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}
  1. 自定義屬性
    隨便寫

  2. Settings屬性
    與POM屬性同理,用戶使用以settings. 開頭的屬性引用settings.xml文件中的XML元素的值。

  3. Java系統(tǒng)屬性
    所有java系統(tǒng)屬性都可以用Maven屬性引用,如${user.home}指向了用戶目錄。

  4. 環(huán)境變量屬性
    所有環(huán)境變量屬性都可以使用以env. 開頭的Maven屬性引用,如${env.JAVA_HOME}指代了JAVA_HOME環(huán)境變量的的值。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 簡介 概述 Maven 是一個項目管理和整合工具 Maven 為開發(fā)者提供了一套完整的構(gòu)建生命周期框架 Maven...
    閩越布衣閱讀 4,534評論 6 39
  • 前言什么是 POMQuick Overview POM 常用元素 pom.xml 完整注釋 參考 0 前言 什么是...
    阿父閱讀 12,765評論 1 36
  • 周末她叮囑我,媽媽,下午遲些接我,想在新華書店看會書。我去接她的時候,書店剛剛打烊,我問,寶子,看的什么書?她...
    魚兒水中游1979閱讀 617評論 0 4
  • 那年冬天的一天,我在某知名婚戀網(wǎng)站上認識了昊兒。他向我發(fā)出好友請求,我看他的資料不錯,人又年輕秀美,就忍不住好奇,...
    自由心空閱讀 705評論 4 9

友情鏈接更多精彩內(nèi)容