Maven의 POM 참조 상태 : -이 훨씬 컴파일처럼,하지만 당신은 JDK 또는 컨테이너가 런타임에 제공 할 것으로 예상 나타냅니다Maven '시스템'범위가 전이 적이지만 '제공'되지 않았습니까? 다음
는 제공. 컴파일 및 테스트 클래스 경로에서만 사용할 수 있으며 은 0이 아닙니다.입니다.
...시스템 -이 범위는 에있는 것을 제외하고가 명시 적으로 들어있는 JAR를 제공하는 제공하는 유사 입니다. 이슈는 항상 이며 저장소에서 조회하지 않습니다.
이제 '시스템'의존성이 많은 프로젝트를 '제공된'것으로 변환했습니다. 그러나 시스템 종속성은 전이 (transitive) 한 것으로 보여서 제공되는 것과 매우 유사하게 보이며 현재 빌드에서 많은 누락 된 종속성을 유발합니다. 내 질문은 두 가지입니다 :
- 시스템 범위가 과도한가? 그렇다면 Maven 참조가 잘못되었거나 불완전한 것입니까?
- 최종 어셈블리에 패키지하지 않고 종속성을 전 이적으로 만드는 방법이 있습니까?
당신이 "할 이적 종속성"무엇을 의미합니까? (시스템 범위와 관련해서는 "시스템 종속성은 JDK에서 제공하는 아티팩트에 대한 종속성을 해결하는 데 특히 유용하지만 이전에 별도 다운로드로 제공되는 경우에는 ..."내 말이 전혀 필요하지 않습니다. 어쨌든 JDK에 의해 제공된 POM을 변경하려면 제공된 범위로 변경해야합니다.) –
'system' 범위는 종속성이 Maven이 아닌 다른 것에 의해 제공 될 것이라는 점에서 '제공됨'과 유사합니다 . –