我正在用Maven碰到一個奇怪的邊緣用例&好奇它爲什麼表現得如此。Maven插件依賴不能使用父pom屬性
我定義的屬性在我父項目像這樣:
<properties>
<some.property.version>1.0.0.0</some.property.version>
</properties>
現在,在一個模塊中,我設置了版本依賴於像這樣一個插件:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>bob</artifactId>
<version>1.0.0.0</version>
<dependencies>
<dependency>
<groupId>org.example</groupId>
<artifactId>example</artifactId>
<version>${some.property.version}</artifactId>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
這會導致Maven吐出一個錯誤:
[錯誤]'build.plugins.plugin [org.apache.maven.plugins:bob] .dependencies.dependency.version'for org.example:example:jar must be一個有效的版本,但是'$ {some.p roperty.version}」。 @ line 350,第16列
對我來說奇怪的是,如果我將被定義的屬性放入模塊本身,Maven編譯就好了。這是一個錯誤?或者,模塊的插件中是否存在對父pom屬性可見性的限制?
第二個想法是,這可能是郵件列表中的最佳服務......稍後將通過來自Maven人員的反饋進行更新! – gordysc