Nice programing

shade plugin에 의해 생성 된 dependency-reduced-pom.xml의 목적은 무엇입니까?

nicepro 2020. 12. 5. 10:41
반응형

shade plugin에 의해 생성 된 dependency-reduced-pom.xml의 목적은 무엇입니까?


나는 문서를 읽었고 그것이 무엇을 위해 사용되는지에 대해 이야기하는 것을 찾지 못했습니다.


shade : shade Mojo는 특히 createDependencyReducedPom해당 dependency-reduced-pom.xml파일 을 생성하는 매개 변수 에 대해 잘 설명 되어 있습니다.maven-shade-plugin/shade-mojo.html#createDependencyReducedPom

요컨대, 다른 모듈에 대한 종속성으로 음영 처리 된 JAR (일반 JAR 대신)을 사용하려는 경우 매우 유용합니다. 그것은 dependency-reduced-pom.xml쓸모없는 중복을 피하기 위해 음영 처리 된 JAR에 이미 존재하는 JAR을 포함하지 않습니다.


나는 문서 를 백 번 정도 읽었 지만 이것이 무엇을위한 것인지, 실제로 사용 사례가 무엇인지 이해할 수 없었습니다.

마지막으로이 내가 생각하는 것입니다 : 수 있습니다 당신은 종속성이 프로젝트가 있다고 가정 해 A, B, C, D, E.에서 pom.xml당신이 동네 짱 항아리를 만들 때 (호출 것과 같은 방법으로 그늘 플러그인을 구성 foo.jar)을 음영 처리 된 항아리에 A, B, C를 포함하지만 어떤 이유로 프로젝트가 그것들에 의존하더라도 음영 처리 된 항아리에 D, E를 포함하지 않기로 결정했습니다. 예를 들어, 테스트에만 필요한 종속성 (예 : 종속성 이 그 scopetest)와 음영 항아리에 포함되지 않습니다. dependency-reduced-pom.xml그것에서, E를 D를 정의합니다. 아이디어는 누군가가을 사용 foo.jar하고 싶다면 종속성 D, E가 누락되어 dependency-reduced-pom.xml있다는 일종의 힌트를 제공 foo.jar한다는 것입니다. 위험을 감수하고 사용하십시오. 그런 다음 사용할 프로젝트에 D, E를 명시 적으로 추가하기로 결정할 수 있습니다.foo.jar.

그래서 dependency-reduced-pom.xml더 비슷 missing-dependencies.xml하고 그늘 플러그인에 의해 출력되는 uber-jar에서 누락 된 종속성을 나열합니다.

참고 URL : https://stackoverflow.com/questions/22904573/what-is-the-purpose-of-dependency-reduced-pom-xml-generated-by-the-shade-plugin

반응형