대형 멀티 모듈 프로젝트가 있습니다. 모듈 중 99 %는 특정 써드 파티 라이브러리 (A라고 부름)에 대한 의존성을 가지므로, A에 대한 의존성은 모든 모듈에 의해 상속 된 프로젝트 부모 POM &에 기록됩니다. 이러한 99 %의 경우 A는 런타임 환경 &의 일부로 제공되므로 종속성은 제공된대로 표시됩니다.Maven 종속성을 "상속받지"못하게하려면 어떻게해야합니까?
나는 자식 모듈 중 하나 (사실상 손자 인 경우) 은에 A에 대한 의존성이 없어야합니다.이 모듈의 종속성 목록에서 A를 어떻게 제거 할 수 있습니까?
나는 combine.self="override"
을 시도했지만 그 구조는 분명히 <dependencies>
요소에 허용되지 않습니다.
난 당신이 무엇을 요구 할 수있는 방법이라고 생각하지 않습니다. 나는 당신이 A를 상속하지 말아야한다고 생각한다. (부모로부터 그것을 제거한다.) 모든 자식 모듈에서 A를 명시 적으로 선언해야한다. – BenjaminLinus
@BenjaminLinus, 나는 많이 생각했다. 그것은 끔찍한 "수정"이지만 일어날 일은 아닙니다. 저는이 한 모퉁이의 경우를 해결하기 위해 300 개 이상의 모듈에서 의존성을 개별적으로 선언하지 않겠습니다. – carej
나중에 들려요. 나는 그 중 하나를하고 싶지 않습니다. 또 다른 가능성은 1 % 하위 모듈에서 ""선언을 제거한 다음 부모로부터 상속받은 모든 내용을 구체적으로 선언하는 것입니다. 여전히 끔찍한 수정이지만 300+ 모듈을 만지는 것만큼 끔찍하지는 않을 것입니다. 그냥 생각. –
BenjaminLinus