基於Maven pom文件中屬性變量總結

Maven pom文件屬性變量總結

1.內置屬性

  • ${basedir}表示當前項目根目錄
  • ${version}表示當前項目版本

2.POM屬性

  • ${project.artifactId} 等價於元素的值

個人理解,本質上每個標簽底層是通過對象的引用實現,也同樣存在繼承特性(僅僅是個人理解,供參考)

以此類推,可以發現很多這一類的屬性定義。

類似地

  • ${project.build.sourceDirectory}:項目的主源碼目錄 默認為src/main/java/.
  • ${project.build.testSourceDirectory}:項目的測試源碼目錄 默認為/src/test/java/.
  • ${project.build.directory}:項目構建輸出目錄 默認為target/.
  • ${project.build.outputDirectory}:項目主代碼編譯輸出目錄 默認為target/classes/.
  • ${project.build.testOutputDirectory}:項目測試代碼編譯輸出目錄 默認為target/testclasses/.

在這裡插入圖片描述

當你新建一個maven project後,maven管理會給你按照底層約定,給你自動設置*directory的值,你可以通過IDE工具打開pom.xml文件,點選Effective POM,你會看到如圖的默認設置。

3.自定義屬性

你可以自己定義一個標簽元素並設置相應的值,這樣,你可以在該pom.xml中應用這個標簽鍵值對,例如:

在這裡插入圖片描述

Maven pom變量定義

定義變量並賦值

<properties>
 <spring-framework.version>4.1.5</spring-framework.version>
</properties>

使用

<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-webmvc</artifactId>
        <version>${spring-framework.version}</version>
</dependency>

一般用來管理依賴的版本號,這樣做的好處:當版本號發生改變時,隻需要更新properties標簽中的變量就行瞭,不用更新所有依賴的版本號

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: