3 回答

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

TA貢獻(xiàn)1812條經(jīng)驗(yàn) 獲得超5個(gè)贊
Maven并非以這種方式工作,但是存在一種解決方法可以實(shí)現(xiàn)此目標(biāo)(也許有副作用,您必須嘗試一下)。訣竅是告訴子項(xiàng)目通過(guò)其相對(duì)路徑而不是其純Maven坐標(biāo)來(lái)找到其父項(xiàng),并且還要外部化屬性中的版本號(hà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>
我在我的項(xiàng)目中使用了一段時(shí)間的技巧,沒(méi)有任何具體問(wèn)題,除了maven在構(gòu)建開(kāi)始時(shí)會(huì)記錄很多警告(這不是很優(yōu)雅)的事實(shí)。
編輯
似乎maven 3.0.4不再允許這種配置。
- 3 回答
- 0 關(guān)注
- 2288 瀏覽
添加回答
舉報(bào)