2017-02-20 26 views
1

我的項目和我的父pom都有一個依賴項管理部分。這些部分都有直接入口和boms的「進口」(即純粹由依賴管理組成並被導入的poms)。現在我試圖弄清楚評估順序。我最好的猜測:dependencyManagement - 在父poms中導入和導入條目

  1. 父POM進口
  2. 孩子POM進口
  3. 父POM直接dependencyManagement項
  4. 孩子POM直接dependencyManagement項

這意味着後面的元素覆蓋前面的元素。它是否正確?如果是這樣,我可以改變這種行爲,以便子元素總是覆蓋父元素?

+0

你認爲這個文件:https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html?特別是:「自從Maven 2.0.9以來,聲明中的順序很重要:第一個聲明獲勝」 –

+0

https://issues.apache.org/jira/browse/MNG-5971似乎描述了我的問題。如果我理解正確,導入將無法覆蓋直接聲明的dependencyManagement條目。 –

回答

0

繼票

issues.apache.org/jira/browse/MNG-5971

它的確是真實的直接管理的項目不能在子項目進口被覆蓋。根據票證中的聲明,這個行爲應該在Maven 3.6.0中修改。

由於Maven 3.6.0是遙遠的將來,我必須解決這個問題。我可能會通過構建一個輔助命令來避免在父項目中直接管理項目。