2011-01-24 6 views
1

이상한 상황이 있습니다. jar A에서는 commons-dbcp 버전 1.3을 명시 적으로 도입했습니다. 항아리 B에서 나는 항아리 A에 의존성을 가지고 있습니다. 그러나 항아리 B를 가져올 때 항아리 B는 현재 1.4를 사용하고 있습니다. 종속성을 제거하면 commons-dbcp가 내 maven 의존성 계층 구조에서 사라져서 다른 곳에서 가져 오지 않았 음을 확신합니다. 그리고 jar A의 종속성 계층 구조에있을 때만 1.3을 보여줍니다.1.4 Commons-DBCP가 1.3 대신 가져 오기

왜 이런 일이 벌어지고 있는지 알 수있는 사람이 있습니까?

답변

1

Maven은 전이 의존성을 가져올 버전을 자동으로 결정합니다. commons-dbcp에 대해 하나 이상의 종속성이있을 수 있습니다 (테스트가 다른 범위에있는 경우 표시되지 않을 수도 있음). 다른 종속성을 보려면 Maven dependency pluginmvn dependency:tree을 통해 사용하십시오.

+0

필자는 그것에 따라 commons-dbcp에 한 가지 의존성 만 있습니다. – AHungerArtist

+0

질문 세부 사항을 확장해야합니다. 너의 병을 보여줘. 의존성으로부터의 출력을 보여라 : tree 등. mvn이 요청한 것과 다른 버전을 가져 오는 것을 경험 한 유일한 시간은 전이 종속성 때문이다. 당신이 그것을 두 배로 정의한다면 그것은 일어날 수 있다고 생각합니다 - 일단 dependcyManagement 섹션에 들어가면 다시 한 번 의존성이 생깁니 까? – harschware

+0

사물을 다시 본 후에, 나는 그 문제점을 깨달았고 왜 그것이 이전 병이나 의존성 나무를 통해 나타나지 않았는지를 깨달았다. dbcp 버전은 우리 팀이 사용하는 상위 pom에 설정되어 있으며이를 무시하고 있습니다. 너는 나를 그렇게 생각하게 만들었고 그렇게 조사해 주었다. – AHungerArtist

관련 문제