2010-12-08 5 views
0

Maven을 사용하여 두 개의 프로젝트를 만들고 있습니다.Maven 종속성 해결

Project1 및 Project2.

저는 Project1.jar을 작성하기 위해 jar1.jar와 종속성이 있습니다. 또한 Project2.jar를 작성하기 위해 Project1.jar와 종속성이 있습니다. Project2에서 Project1.jar 종속성 항목에 대해 "제공된"범위를 제공하고 있습니다. 또한 Project1의 jar1.jar 종속 항목에 대해 "컴파일"범위 종속성을 제공하고 있습니다.

jar1.jar도 Project2.war에 포함될 것입니다. 그러나 jar1.jar는 Project2.war이로드되는 환경에서 제공됩니다.

+0

예, 맞습니다. 기본적으로 Project1.jar에는 종속성이 포함되어 있지 않습니다. 기본적으로 pom.xml에 기반한 jar를 settings.xml에 지정된 저장소와 매핑합니다. 그래서 project2는 project1에 의존하고 project1은 jar1에 의존합니다. 따라서 project2는 jar1에 종속됩니다. 그것의 전 이적 :-) –

+0

코멘트를 주셔서 감사합니다, Mohamed Saligh. 기본적으로 내 Project1.jar은 응용 프로그램과 같은 실행 가능한 서버이며 manifest에 jar1.jar가 있습니다. 그렇다면 Project1.jar 서버에서 실행되는 Project2.war에는 jar1.jar가 포함될 필요가 없다고 생각하십니까? Project1.jar 응용 프로그램에 클래스 경로 (매니페스트 항목)에 jar1.jar이 있으므로 – girishadat

답변

0

몇 가지 작업을 수행 할 수 있습니다.

jar1.jar의 범위를 pom.xmlProject1provided으로 만들 수 있습니다. provided 범위의 종속성은 클래스 경로 컴파일에 포함됩니다.

Project1에 대한 종속성을 선언 할 때 jar1.jar을 명시 적으로 제외 할 수 있습니다.