3 回答

TA貢獻(xiàn)1852條經(jīng)驗 獲得超1個贊
自Maven 3.5.0以來,使用${revision}占位符對此有一個不錯的解決方案。有關(guān)詳細(xì)信息,請參見FrVaBe的答案。對于以前的Maven版本,請參見下面的原始答案。
不,沒有。您始終必須指定父母的版本。幸運的是,它繼承了大多數(shù)情況下所需的模塊版本。此外,Maven Release Plugin會自動更改該父級的版本聲明,因此-實際上-只要使用Maven Release Plugin進(jìn)行發(fā)布或僅更改版本,就可以在2個位置擁有版本不是問題。
請注意,在某些情況下,此行為實際上還可以,并且可以提供您可能需要的更多靈活性。有時您想使用以前父母的某些版本來繼承,但是這不是主流情況。

TA貢獻(xiàn)1812條經(jīng)驗 獲得超5個贊
Maven并非以這種方式工作,但是存在一種解決方法可以實現(xiàn)此目標(biāo)(也許有副作用,您必須嘗試一下)。訣竅是告訴子項目通過其相對路徑而不是其純Maven坐標(biāo)來找到其父項,并且還要外部化屬性中的版本號:
父pom
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>${global.version}</version>
<packaging>pom</packaging>
<properties>
<!-- Unique entry point for version number management -->
<global.version>0.1-SNAPSHOT</global.version>
</properties>
兒童絨球
<parent>
<groupId>com.dummy.bla</groupId>
<artifactId>parent</artifactId>
<version>${global.version}</version>
<relativePath>..</relativePath>
</parent>
<groupId>com.dummy.bla.sub</groupId>
<artifactId>kid</artifactId>
我在我的項目中使用了一段時間的技巧,沒有任何具體問題,除了maven在構(gòu)建開始時會記錄很多警告(這不是很優(yōu)雅)的事實。
編輯
似乎maven 3.0.4不再允許這種配置。
- 3 回答
- 0 關(guān)注
- 2271 瀏覽
添加回答
舉報