2

我的本地存儲庫中有幾個下載版本的maven-dependency-plugin。在放置在org/apache/maven/plugins/maven-dependency-plugin/中的元數據文件中,列出了從2.0-alpha-12.10的版本。
版本2.10設置爲releaselatestMaven如何解析插件的執行版本?

儘管當從CLI執行dependency:get作爲獨立目標時,Maven使用版本2.1。這是該插件的較低版本。此外,如果版本從本地存儲庫中刪除,Maven會再次下載它。

使用Maven 3.0.4。

問題:當沒有明確指定插件時,Maven如何確定插件的哪個版本將被使用?

回答

1

當從命令行執行插件的目標而未明確提供其版本時,Maven將使用其最新版本,除了聲明爲super pom的一部分的插件,即所有Maven版本的implic parent pom

在這種情況下,maven-dependency-plugin是小(和減少)集父POM聲明插件,爲哪個版本2.1specified直到Maven的版本3.0.5,從那麼該版本已經更新到版本的一部分2.8

此外,Maven通過default lifecycle bindings解析插件版本,具體取決於在pom.xml文件中聲明的packaging選項(不適用於命令行執行)。

+1

一如既往通過pluginManagement自定義插件版本,不要依賴超級pom等。 – khmarbaise