2012-10-08 68 views
2

我正在嘗試爲我分叉的項目構建pom.xml。原始項目使用我無法使用的pom層次結構,所以我需要編寫一個新的pom.xml。使用Maven構建包時不存在錯誤

現在,我得到一個討厭的xxx軟件包不存在,例如用於org.apache.commons.logging,但在我pomxml,我得到的依賴性:

<dependencyManagement> 
    <dependencies> 
    ... 
    <dependency> 
     <groupId>commons-logging</groupId> 
     <artifactId>commons-logging</artifactId> 
     <version>1.1.1</version> 
    </dependency> 
    ... 
    <dependencies> 
<dependencyManagement> 

顯然,Maven是失敗的進口像:

import org.apache.commons.logging.Log; 

我的pom.xml沒有任何父母。我正在使用Maven 2和Java 5.任何線索?

回答

4

上面的dependencyManagement項告訴Maven:每次一個項目宣佈這樣的依賴關係:

<dependencies> 
... 
<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <!-- notice there is no version --> 
</dependency> 

使用的版本形式dependencyManagement:1.1.1。

在你的主pom中有dependencyManagement是非常有用的,這樣從這個pom繼承的所有項目將始終使用相同的版本。在這個地方更改它會導致所有繼承項目在下次構建時使用另一個版本。

將dependencyMangement保留在主pom中,在項目中添加依賴關係而沒有版本

2

如果您沒有pom層次結構,則不需要<dependencyManagement>只需<dependencies>。 刪除周圍的<dependencyManagement>