MVN 종속성 트리

Mvn Jongsogseong Teuli

'종속성은 추가 기능을 제공하기 위해 프로젝트로 가져온 외부 코드 및 스니펫입니다. 예를 들어 종속성은 Java 프로젝트의 다른 아카이브 또는 파일일 수 있습니다. 그러면 프로젝트의 다른 부분이 종속성을 참조하여 실행할 수 있습니다.

프로젝트의 종속성 트리에 대한 명확한 이미지가 있으면 도움이 될 수 있습니다. 설치된 패키지 간의 충돌을 신속하게 찾아 효율적으로 해결할 수 있습니다.



이 튜토리얼에서는 Maven 프로젝트의 의존성 트리를 보는 방법을 배울 것입니다.”



시작하자.



메이븐 종속성 플러그인

Apache Maven 유틸리티는 종속성을 관리할 수 있는 도구와 함께 제공됩니다. Maven 종속성 플러그인을 사용하면 프로젝트에서 간단한 명령을 실행하고 모든 종속성을 시각화할 수 있습니다.

플러그인 리소스는 다음과 같습니다.

https://maven.apache.org/plugins/maven-dependency-plugin/usage.html



이 플러그인으로 프로젝트 종속성 트리를 시각화하는 가장 좋은 방법은 다음 명령을 실행하는 것입니다.

mvn 종속성 : 나무

이전 명령은 프로젝트의 모든 종속성을 찾고 나무와 같은 구조를 반환합니다.

이를 수행할 수 있는 방법을 설명하겠습니다.

이를 위해 필요한 종속성이 있는 모든 Maven 프로젝트를 사용할 수 있습니다.

위의 명령을 실행하면 다음 예제 출력이 표시되어야 합니다.

[ 정보 ] --- 메이븐 - 의존 - 플러그인 : 2.8 : 나무 ( 기본 - 클리 ) @ 제디스 ---
[ 정보 ] 레디스. 클라이언트 : 제다이 : 항아리 : 4.3.0 - 스냅 사진
[ 정보 ] +- 조직 slf4j : slf4j - API : 항아리 : 1.7.32 : 엮다
[ 정보 ] +- 조직 아파치 . 평민 : 평민 - 풀2 : 항아리 : 2.11.1 : 엮다
[ 정보 ] +- 조직 json : json : 항아리 : 20211205 : 엮다
[ 정보 ] +- 와 함께. Google . 암호 . 지손 : 지손 : 항아리 : 2.8.9 : 엮다
[ 정보 ] +- 주니트 : 주니트 : 항아리 : 4.13.2 : 테스트
[ 정보 ] | \ - 조직 햄크레스트 : 햄크레스트 - 핵심 : 항아리 : 1.3 : 테스트
[ 정보 ] +- 조직 slf4j : slf4j - 단순한 : 항아리 : 1.7.32 : 테스트
[ 정보 ] +- 와 함께. 콜슈터 . 주닉스 소켓 : 주닉스 소켓 - 핵심 : 보다 : 2.4.0 : 테스트
[ 정보 ] | +- 와 함께. 콜슈터 . 주닉스 소켓 : 주닉스 소켓 - 토종의 - 흔한 : 항아리 : 2.4.0 : 테스트
[ 정보 ] | \ - 와 함께. 콜슈터 . 주닉스 소켓 : 주닉스 소켓 - 흔한 : 항아리 : 2.4.0 : 테스트
[ 정보 ] \ - 조직 목토 : 목토 - 인라인 : 항아리 : 3.12.4 : 테스트
[ 정보 ] \ - 조직 목토 : 목토 - 핵심 : 항아리 : 3.12.4 : 테스트
[ 정보 ] +- 그물. 바이트 버디 : 바이트 - 친구 : 항아리 : 1.11.13 : 테스트
[ 정보 ] +- 그물. 바이트 버디 : 바이트 - 친구 - 에이전트 : 항아리 : 1.11.13 : 테스트
[ 정보 ] \ - 조직 동의 : 동의 : 항아리 : 3.2 : 테스트

위의 출력에서 ​​볼 수 있듯이 Maven은 모든 프로젝트의 종속성을 목록 형식으로 반환합니다.

이 명령을 사용하려면 시스템에 Maven 및 Java JDK가 설치되어 있어야 합니다.

종속성 필터링

대규모 프로젝트에서 작업하는 경우 위의 명령을 사용하여 모든 종속성을 보고 관리하기 어려울 수 있습니다.

운 좋게도 Maven 종속성 트리 플러그인을 사용하면 표시된 종속성을 필터링할 수 있습니다. 이는 원하는 종속성을 포함하거나 제외할 수 있음을 의미합니다.

특정 종속성만 포함하려면 다음 구문과 같이 Dincludes 옵션을 사용합니다.

mvn 종속성 : 나무 - 포함 [ 그룹 ID ] : [ 아티팩트 ID ] : [ 유형 ] : [ 버전 ]

-Dincludes 매개변수의 각 세그먼트는 선택 사항입니다.

예를 들어 프로젝트에서 특정 종속성이 어떻게 사용되는지 보여주기 위해 다음 명령을 실행할 수 있습니다.

mvn 종속성 : 나무 - 포함 = 주닉스 소켓 : 주닉스 소켓 - 핵심

이전 코드는 다음을 반환해야 합니다.

[ 정보 ]
[ 정보 ] ------------------------< 레디스. 클라이언트 : 제다이 >----------------------------
[ 정보 ] 제디스 4.3.0 구축 - 스냅 사진
[ 정보 ] -------------------------------- [ 항아리 ] ----------------------------------
[ 정보 ]
[ 정보 ] --- 메이븐 - 의존 - 플러그인 : 2.8 : 나무 ( 기본 - 클리 ) @ 제디스 ---

트리에서 종속성을 제외하려면 아래 구문과 같이 -Dincludes 매개변수를 사용할 수 있습니다.

mvn 종속성 : 나무 - 포함 = [ 그룹 ID ] : [ 아티팩트 ID ] : [ 유형 ] : [ 버전 ]

예를 들어:

mvn 종속성 : 나무 - 제외 = 주닉스 소켓 : 주닉스 소켓 - 핵심

그러면 아래와 같이 출력이 반환되어야 합니다.

Maven은 파일에 대한 종속성을 저장합니다.

-DoutputFile 매개변수를 사용하여 종속성 트리를 파일에 저장할 수도 있습니다. 예가 아래에 나와 있습니다.

mvn 종속성 : 나무 - D출력파일 = '디프 트리'

이전 명령에서 우리는 Maven에 의존성 트리를 생성하고 이를 dep.tree라는 파일에 저장하도록 지시합니다.

결과 파일 출력은 아래와 같습니다.

+- 조직 slf4j : slf4j - API : 항아리 : 1.7.32 : 엮다
+- 조직 아파치 . 평민 : 평민 - 풀2 : 항아리 : 2.11.1 : 엮다
+- 조직 json : json : 항아리 : 20211205 : 엮다
+- 와 함께. Google . 암호 . 지손 : 지손 : 항아리 : 2.8.9 : 엮다
+- 주니트 : 주니트 : 항아리 : 4.13.2 : 테스트
| \ - 조직 햄크레스트 : 햄크레스트 - 핵심 : 항아리 : 1.3 : 테스트
+- 조직 slf4j : slf4j - 단순한 : 항아리 : 1.7.32 : 테스트
+- 와 함께. 콜슈터 . 주닉스 소켓 : 주닉스 소켓 - 핵심 : 보다 : 2.4.0 : 테스트
| +- 와 함께. 콜슈터 . 주닉스 소켓 : 주닉스 소켓 - 토종의 - 흔한 : 항아리 : 2.4.0 : 테스트
| \ - 와 함께. 콜슈터 . 주닉스 소켓 : 주닉스 소켓 - 흔한 : 항아리 : 2.4.0 : 테스트
\ - 조직 목토 : 목토 - 인라인 : 항아리 : 3.12.4 : 테스트
\ - 조직 목토 : 목토 - 핵심 : 항아리 : 3.12.4 : 테스트
+- 그물. 바이트 버디 : 바이트 - 친구 : 항아리 : 1.11.13 : 테스트
+- 그물. 바이트 버디 : 바이트 - 친구 - 에이전트 : 항아리 : 1.11.13 : 테스트
\ - 조직 동의 : 동의 : 항아리 : 3.2 : 테스트

Maven은 계층적 방식으로 파일의 프로젝트 종속성만 포함합니다.

결론

이 게시물은 Maven 종속성 플러그인을 사용하여 Maven 종속성 트리를 보는 방법에 대해 설명했습니다.