Maven 2에서 전이 종속성이 어떤 종속성에서 오는지 어떻게 알 수 있습니까?


97

내 pom.xml에 설명 된 종속성이 대상 디렉터리에 전이 종속성을 가져 오는지 알고 싶습니다.

좀 더 정확하게 말하면 WEB-INF / lib 디렉토리에 "poi-2.5.1-final-20040804.jar"라이브러리가 있으며 내 pom.xml에서 어떤 종속성이 가져 오는지 알고 싶습니다.

답변:


132

@David Crow에 추가하려면 Maven 사이트 의 dependency : tree 예제 가 있습니다.

mvn dependency:tree -Dincludes=velocity:velocity

출력 할 수 있습니다

[INFO] [dependency:tree]
[INFO] org.apache.maven.plugins:maven-dependency-plugin:maven-plugin:2.0-alpha-5-SNAPSHOT
[INFO] \- org.apache.maven.doxia:doxia-site-renderer:jar:1.0-alpha-8:compile
[INFO]    \- org.codehaus.plexus:plexus-velocity:jar:1.1.3:compile
[INFO]       \- velocity:velocity:jar:1.4:compile

1
이것은 나를 위해 작동하지 않았습니다. 내가받은 것은 지원되지 않는 '레거시'값에 대한 오류뿐이었습니다. @David Crow의 버전 (즉, 속도 플래그없이)을 실행하면 잘 작동했습니다.
Vlad Schnakovszki



2

많은 보고서를 작성할 수 있습니다.

mvn 사이트

그중 하나는 의존성 보고서입니다.


1

"-x"스위치를 사용하여 maven을 실행하면 많은 진단이 출력되며 관련 종속성 경로를 선택할 수 있습니다.


2
사실이 답변은 유용합니다. Maven을 3.0에서 3.3으로 업그레이드하여 발생 하는 잘 알려진 에테르 클래스 정의되지 않은 버그에 직면하고 있었고 다음 명령을 통해 다른 maven 플러그인이 여전히 org.apache.maven : maven-core 버전 3.0.5를 소싱하고 있음이 밝혀졌습니다. mvn -X dependency:tree -Dverbose |grep -C20 sonatype.aether
ekarak

"-X"(대문자, 대체 이름 "--debug")는 종종 유용하지만 버전 번호의 출처를 알려주지는 않습니다. 어쨌든 Maven 3.6.0에서는 아닙니다.
toolforger

1

mvn site를 사용하여 프로젝트에 대한 사이트를 생성 한 경우 종속성 정보는 프로젝트 정보 / 종속성 보고서에도 포함됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.