예, 이것은 예상되는 동작입니다. 프로젝트 B는 X, Y 및 Z가 제대로 작동해야하므로 이러한 종속성 (전 이적 종속성)은 프로젝트의 일부분입니다.
maven 종속성 해결에 대한 자세한 설명은 this을 참조하십시오.
mvn dependency:tree
또는 mvn dependency:list
을 명령 줄에서 호출하여 전이를 포함하여 모든 종속성을 볼 수 있습니다. 당신은 당신이 유물에 의존하고 있지만이 응용 프로그램 서버에서 Java EE 라이브러리의 경우 것처럼, 런타임에 사용할 수 있음을 알고있는 경우
, 당신은 당신의 pom
에 provided
로 표시 할 수 있습니다 :
<dependency>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<version>1.0</version>
<scope>provided</scope>
</dependency>
이러한 종속성은 결과로 나오는 atrifact에 포함되지 않습니다.
EDIT : 불쌍한 독해 기술을 용서해주십시오 :) 나는 'Z'앞에 '아닙니다'를 우연히 목격했습니다.
Z에 대한 종속성이 provided
또는 optional
플래그가 true
으로 설정되거나 제외되는 경우이 정의는 여전히 정상적인 동작입니다. 메이븐이 선택적 종속 관계와 제외 종속 관계를 처리하는 방법은 this을 참조하십시오.
이 옵션 중 어느 것도 적용되지 않으면 Z가 다른 종속성과 함께있을 것으로 예상됩니다. 확인하는 가장 좋은 방법은 Z.
의 출력을
mvn dependency:tree
또는mvn dependency:list
을 실행하고 grep을하는 것입니다 그러나 여기에서 문제는, 죄송 B. – cmn@cmn 죄송합니다, 프로젝트의 모든 종속성을 포함하지 않는 프로젝트 (A)의 클래스 패스 내 나쁜. 편집을 참조하십시오. 'mvn dependency : tree'를 호출하면 Z가 나열됩니까? – kostja