[maven-2] 아티팩트에 대한 종속성 트리를 얻는 방법은 무엇입니까?

dependency:tree주어진 프로젝트에 대한 종속성 트리를 보는 데 사용할 수 있습니다. 하지만 필요한 것은 타사 아티팩트에 대한 종속성 트리를 보는 것입니다.

빈 프로젝트를 만들 수 있다고 생각하지만 더 쉬운 것을 찾고 있습니다 (여러 아티팩트에 대해이 작업을 수행해야합니다).



답변

1) Maven 종속성 플러그인 사용

pom.xml 만 사용하여 간단한 프로젝트를 만듭니다. 종속성을 추가하고 다음을 실행하십시오.

mvn dependency:tree

불행히도 종속성 mojo 는 pom.xml을 사용해야합니다. 그렇지 않으면 다음 오류가 발생합니다.

mojo : tree를 실행할 수 없습니다. 기존 pom.xml이있는 프로젝트가 필요하지만 빌드에서 사용하지 않습니다.

2) Maven 중앙 저장소에서 아티팩트의 pom.xml 찾기

종속성은 아티팩트의 pom.xml에 설명되어 있습니다. Maven 인프라를 사용하여 찾으십시오.

http://search.maven.org/로 이동 하여 groupId 및 artifactId를 입력하십시오.

또는 http://repo1.maven.org/maven2/ 로 이동하여 먼저 플러그인 groupId를 사용하여 탐색하고 나중에 artifactId를 사용하고 마지막으로 해당 버전을 사용할 수 있습니다.

예를 들어 org.springframework : spring-core 를 참조하십시오 .

3) 아티팩트에 대해 Maven 종속성 플러그인 사용

종속성 아티팩트의 일부는 pom.xml입니다. 그것은 의존성을 지정합니다. 그리고이 pom에서 mvn 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과 함께 사용할 때 잘못된 결과를 제공 할 수 있기 때문입니다.


답변

해결책은 아티팩트의 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 탭 을 볼 수 있습니다. 또한 충돌하는 종속성을 트리 구조로만 볼 수있는 옵션도 제공합니다.

여기에 이미지 설명 입력