2012-07-23 6 views
1

전쟁 프로젝트는 com.mycompany : somejarname : 1.0에 종속됩니다. 이것은 slf4j-log4j12에 의존합니다 (이것은 해당 jar에 의해서만 런타임에 필요합니다).전이 종속성이 전쟁 패키지에 포함되지 않음

포장 된 전쟁에는 slf4j-log4j12가 포함되어 있지 않습니다. 제 생각에 전이적인 종속성 때문에 war가 포함되어야합니다 : war -> somejarname -> slf4j-log4j12. 종속성 트리에는 종속성이 표시되지만 최종 종속성 패키지에는 포함되지 않습니다.

[INFO] +- com.mycompany:somejarname:jar:1.0:compile 
[INFO] | +- common-crypt:common-crypt:jar:1.0:compile 
[INFO] | +- org.apache.axis2:axis2-spring:jar:1.5.1:compile 
[INFO] | +- org.objenesis:objenesis:jar:1.1:compile 
[INFO] | +- org.mockito:mockito-all:jar:1.9.0:compile 
[INFO] | +- org.slf4j:slf4j-log4j12:jar:1.5.6:compile 
[INFO] | \- net.sf.json-lib:json-lib:jar:jdk15:2.4:compile 
[INFO] |  \- net.sf.ezmorph:ezmorph:jar:1.0.6:compile 

의견이 있으십니까? Maven 3 사용

업데이트 : 이것은 Maven 2.2.1에서는 작동하지만 Maven 3.0.4에서는 작동하지 않습니다. Maven 3의 Dependency resolution이 2.2.1에서 변경되었습니다.

업데이트 : dependency tree Maven 3의 기능은 Maven 2.2.1과 동일하므로 위의 트리는 slf4j-log4j12를 보여줍니다.

또한 Maven 2.x 해결 API의 모든 부분이 Aether에 연결될 수있는 것은 아닙니다. mvn 의존성에 사용되는 maven-dependency-tree 공유 구성 요소 : 트리는 여전히 레거시 해결 코드를 사용합니다. 이와 같이, MVN 의존성의 출력 : 트리 프로젝트의 클래스 경로를 유도 메이븐 자체에 의해 사용되는 실제 종속성 트리 다를 수는 동일하게 발견

+0

pom 파일이 없으면 무엇이 잘못 됐는지 짐작하기 어렵습니다. – khmarbaise

+0

pom에 많은 구성 요소가 포함되어 있습니다. - 더 작은 프로젝트에서 재생성을 시도한 다음 POM을 게시하려고 시도합니다. – dsatish

+0

문제를 해결 했습니까? 그렇다면 솔루션을 답으로 게시하십시오. – khmarbaise

답변

0

(이러한 편차의 예 MSHARED-167 참조) 이클립스 화성 (Eclipse 플러그인)에서 Maven 3.2.5를 사용하여 문제를 해결할 수있다.

Eclipse Mars와 함께 기본적으로 제공되는 Maven 3.3.3 (Java 7 또는 8 필요)을 사용하여 해결했습니다.

관련 문제