답변:
pom.xml 만 사용하여 간단한 프로젝트를 만듭니다. 종속성을 추가하고 다음을 실행하십시오.
mvn dependency:tree
불행히도 종속성 mojo 는 pom.xml을 사용해야합니다. 그렇지 않으면 다음 오류가 발생합니다.
mojo : tree를 실행할 수 없습니다. 기존 pom.xml이있는 프로젝트가 필요하지만 빌드에서 사용하지 않습니다.
종속성은 아티팩트의 pom.xml에 설명되어 있습니다. Maven 인프라를 사용하여 찾으십시오.
http://search.maven.org/로 이동 하여 groupId 및 artifactId를 입력하십시오.
또는 http://repo1.maven.org/maven2/ 로 이동하여 먼저 플러그인 groupId를 사용하여 탐색하고 나중에 artifactId를 사용하고 마지막으로 해당 버전을 사용할 수 있습니다.
예를 들어 org.springframework : spring-core 를 참조하십시오 .
종속성 아티팩트의 일부는 pom.xml입니다. 그것은 의존성을 지정합니다. 그리고이 pom에서 mvn dependency : tree 를 실행할 수 있습니다 .
pom.xml
파일이있는 프로젝트 )의 경우 오류가 발생할 수 있습니다. mvn compile dependency:tree
그럼 해봐 .
샘플 프로젝트를 만들고 여기에 타사 종속성을 추가해야하는 경우 다음을 실행하여 종속성의 전체 계층 구조를 볼 수 있습니다.
다음 maven 명령을 사용하여 특정 아티팩트 를 검색 할 수 있습니다 .
mvn dependency:tree -Dverbose -Dincludes=[groupId]:[artifactId]:[type]:[version]
문서에 따르면 :
여기서 각 패턴 세그먼트는 선택 사항이며 전체 및 부분 * 와일드 카드를 지원합니다. 빈 패턴 세그먼트는 암시 적 와일드 카드로 처리됩니다.
프로젝트의 여러 모듈 중에서 'log4j-1.2-api'jar 파일을 찾으려고한다고 가정 해보십시오.
mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-1.2-api
편집 : 자세한 매개 변수 사용의 장점에도 불구하고 일부 조건에서는 정확하지 않을 수 있습니다. Maven 2 알고리즘을 사용하고 Maven 3과 함께 사용할 때 잘못된 결과를 제공 할 수 있기 때문입니다.
-Dverbose
필요한 전체 나무를 보여주기에 충분했습니다. 출력을 less
또는 이와 유사하게 파이핑하고 빠른 검색을 수행하면 includes
플래그를 기억할 수 없거나 전체 또는 와일드 카드를 제공하지 않으려는 경우 groupId
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
해결책은 아티팩트의 pom.xml 파일로 dependency : tree를 호출하는 것입니다.
mvn -f "$HOME/.m2/repository/$POM_PATH" dependency:tree
저장소에서 아티팩트의 전이 종속성을 나열하는 방법 도 참조하십시오 .
현재 버전의 m2eclipse 를 사용하는 경우 (eclipse 및 maven을 사용하는 경우 사용해야 함) :
메뉴 항목 선택
Navigate -> Open Maven POM
찾고있는 유물을 입력하십시오.
pom은 pom 편집기에서 열리 며 탭 Dependency Hierarchy
을 선택 하여 종속성 계층 구조를 볼 수 있습니다 (이름에서 알 수 있듯이 :-)).
아티팩트가 주어진 프로젝트의 종속성이 아닌 경우 가장 좋은 방법은 저장소 검색 엔진 을 사용하는 것 입니다. 그들 중 다수는 주어진 아티팩트의 종속성을 설명합니다.
종속성 트리 (프로젝트의 모든 모듈, 전이 종속성 및 제거 정보 포함)의 그래픽 및 검색 가능한 표현을 얻으려면 UpdateImpact : https://app.updateimpact.com (무료 서비스)을 확인하십시오.
면책 조항 : 저는 사이트 개발자 중 한 명입니다.
이 게시물이 꽤 오래 되었다는 것을 알고 있지만 IntelliJ를 사용하는 사람 이 IDE에서 직접 종속성 트리를보고 싶다면 Maven Helper Plugin 플러그인을 설치할 수 있습니다 .
pom.xml을 설치하면 아래와 같이 Dependency Analyze 탭 을 볼 수 있습니다. 또한 충돌하는 종속성을 트리 구조로만 볼 수있는 옵션도 제공합니다.