2012-10-08 3 views
2

제가 포크하는 프로젝트의 pom.xml을 빌드하려고합니다. 원래 프로젝트는 사용할 수없는 pom 계층 구조를 사용하므로 새로운 pom.xml을 작성해야합니다. 이제Maven으로 빌드 할 때 패키지가 존재하지 않습니다.

, 나는 org.apache.commons.logging 예를 들어, 성가신 패키지 xxx는 존재하지 않을 수 있지만, 내 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 항목을 받는다는 알려줍니다마다 프로젝트는 다음과 같이 종속성을 선언 1.1.1 :

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

는 버전 형태 dependencyManagement를 사용합니다.

메인 pom에 dependencyManagement를두면이 pom을 상속 한 모든 프로젝트에서 일관되게 동일한 버전이 사용됩니다. 이 한 곳에서 변경하면 모든 상속되는 프로젝트가 다음에 빌드 될 때 다른 버전을 사용하게됩니다.

종속성을 기본 pom에 유지하고 프로젝트에이없는 종속성 을 추가하십시오.

2

pom 계층 구조가없는 경우 <dependencyManagement>은 단지 <dependencies> 일 필요가 없습니다. 주위를 제거하십시오 <dependencyManagement>.

관련 문제