2014-09-03 48 views
2

我認爲父母的依賴管理是傳遞性的,不是嗎? 從來沒有看到明確地在doc,但它似乎很明顯,我...Maven父級層次結構+ dependencyManagement不可傳遞?

下面是我有:

+-----------------------+ 
| Parent 1    | 
|-----------------------| 
| dependencyManagement: | 
| lib1: 1.0.0   | 
+-----------------------+ 
      ^
      | 
      | 
+-----------+-----------+ 
| Parent 2    | 
|-----------------------| 
| dependencyManagement: | 
| lib2: 1.0.0   | 
+-----------------------+ 
      ^
      | 
+-----------+-----------+ 
| Project A    | 
|-----------------------| 
| dependencies:   | 
| lib1    | 
| lib2    | 
+-----------------------+ 

當我嘗試MVN安裝Project A,我得到:

[ERROR]  'dependencies.dependency.version' for lib1-digester:jar is missing. @ line XX, column YY 

我也試圖在dependencyManagement與進口 SC添加家長1的條目家長2 ope,沒有成功..

我的項目A有哪些版本由它的所有父級別管理?

+0

你能展現真實的pom文件,而不是別的東西...... – khmarbaise 2014-09-03 14:30:40

+0

他們是相當大的,和商業...我會讓其他勁歌說明我遇到的問題慶安。 – JSlain 2014-09-03 14:48:48

回答

2

A製造與其他空項目的一個小例子,並且一切正常...... 最後,還有一些奇怪的事情,在這裏發生了什麼事。 我其實更喜歡的是:

+-----------------------+ 
| Parent 1    | 
|-----------------------| 
| dependencyManagement: |<----------------------+ 
| lib1: 1.0.0   |      | 
+-----------------------+      | 
      ^         | 
      |      +-------------+------------+ 
      |      | Project B    | 
+-----------+-----------+   |--------------------------| 
| Parent 2    |   | dependencies:   | 
|-----------------------|   | somethingWrong: 1.0.0 | 
| dependencyManagement: |   +--------------------------+ 
| lib2: 1.0.0   | 
+-----------------------+ 
      ^
      | 
+-----------+-----------+ 
| Project A    | 
|-----------------------| 
| dependencies:   | 
| lib1    | 
| lib2    | 
+-----------------------+ 

有在項目B的pom.xml的 錯誤不應該對我的問題有任何影響,但糾正無關 POM解決了我問題...

對不起相關浪費的時間

+0

你是如何繪製ASCII盒子的? – aliopi 2015-09-22 13:54:03

+0

是啊,它真的有用 http://asciiflow.com/ – JSlain 2015-09-22 14:14:54

2

看來你正在閱讀的Maven Docs後正確的。

一般來說,這些項目的所有依賴關係都用於您的項目中,以及項目從其父項或從其依賴項繼承的任何項目,等等。

2

嘗試更新到最新版本的Maven 3. IIRC,在dependencyManagement元素的繼承中有幾個錯誤。