2014-10-01 3 views
0

우리가 사용하는 Maven 종속성 및 플러그인의 버전 및 기타 매개 변수를 지정할 필요가 없습니다. 우리는 부모 POM에서 한 번만 할 수도 있고 다른 방법으로 POM의 속성을 상속받을 수도 있습니다.Maven에서 종속성 및 플러그인의 숨겨진 버전을 어떻게 찾을 수 있습니까?

여러 번 불행히도 필자는 의존성 및 플러그인의 실제 매개 변수를 쉽게 찾을 수없는 프로젝트를 만났습니다. 나는. 종속성 버전은 비어 있지만 부모 POM에는 이에 대한 정보가 없습니다. 그래서 내 질문은 :

1) Maven에서 의존성 및 플러그인 매개 변수를 지정할 수있는 모든 방법을 나열하십시오. 즉, 버전 번호가 하위 POM의 플러그인이나 상위 pom의 플러그인 관리에 없으면 어디에서 버전 번호를 찾을 수 있습니까? 2) Maven에서 이러한 매개 변수를 가져 오는 위치를 찾는 명령이 있습니까? 예를 들어, dependencyTree 명령을 사용할 수 있습니다. 내가 의존하는 버전 의존성을 이해하는 데 도움이되는 의존성 목록을 출력 할 것이다. 하지만 이것은 해킹이며, 플러그인을 통해 나를 도울 수 없습니다. 더 나은 것이 있을까요?

답변

0

어떤 명령을 실행하기 전에 Maven은 "effective POM"을 빌드합니다. 자세한 내용은 this stackoverflow answer을 참조하십시오. mvn help:effective-pom을 실행하여 프로젝트의 유효 POM을 볼 수 있습니다. 일반적으로이 명령을 실행하면 출력을 파일로 리디렉션하므로 텍스트 편집기에서 출력을보고 검색 할 수 있습니다.

POM, 종속성 및 플러그인의 특정 부분에 대해 질문했습니다. 올바른 길을 가고있어 maven-dependency-plugin이 도움이됩니다. 가장 자주 사용하는 목표는 dependency:tree, dependency:resolvedependency:resolve-plugins입니다. 처음 두 가지는 프로젝트 종속성을 지원하고, 마지막은 플러그인을 사용합니다. -U 옵션을 추가하여 update policies/repository metadata 값과 관계없이 Maven에서 종속성을 강제 업데이트하도록합니다.

빈 로컬 저장소로 문제를 해결할 때도 유용합니다.

Maven은 빌드가 특정 버전이없는 플러그인을 사용할 때 경고 메시지를 표시합니다. 경고를 수정하고 this one 같은 문제를 피하기 위해 항상 명시적인 버전을 지정하십시오.

+0

감사합니다. 정확히 내가 무엇을 loking하고 있었는지 thats. – MiamiBeach

관련 문제