簡體   English   中英

在pom.xml中調用屬性的層級

[英]Call hierachy of properties in pom.xml

我有一個Maven項目,其中包含多個嵌套項目。 它們確實總是具有相同的版本。 直到現在,如果我想增加版本,我會遍歷所有pom.xml文件並更改版本號。

現在,我想將版本外包給父pom.xml文件的properties標簽。 它適用於所有嵌套項目,但不適用於父pom本身。

pom.xml中的屬性按什么順序調用? 我無法在父pom.xml文件中引用項目版本。

該代碼段顯示了父pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <groupId>com.my.project</groupId>
    <artifactId>my.project</artifactId>
    <packaging>pom</packaging>
    <version>${projectVersion}</version>
    <properties>
        <projectVersion>1.0.0</projectVersion>
        ...
    </properties>
    <modules>
        <module>my.project.service</module>
        <module>my.project.db</module>
        ...
    </modules>

我希望pom采用屬性中定義的版本號。 但是由於錯誤的無效參考格式而無法構建

我希望pom采用屬性中定義的版本號。 但是由於錯誤的無效參考格式而無法構建

通過從父項目運行maven目標,maven首先在當前構建過程中綁定工件/組/版本,因此它使用此處定義的版本: <version>${projectVersion}</version>

我無法在父pom.xml文件中引用項目版本。

在這種情況下,您可以通過創建一個聚合器/多模塊項目來“作弊”,該項目定義了未使用/偽造的版本(例如1.0-NOT-USED ),該版本具有作為父模塊的唯一模塊。 現在,在構建聚合器/多模塊項目時,您可以將要在父項目及其所有模塊中使用的版本作為參數傳遞。

附帶說明一下,要將集中版本用於一組項目,應使用扁平化的maven插件 ,該插件可使您擺脫地獄版本管理。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM