2012-04-11 2 views
0

현재 귀와 전쟁의 두 모듈을 선언하는 상위 pom이 있습니다. 귀는 전쟁에 의지합니다 (그리고 그룹/이슈 ID 및 패키지 유형과의 관련성을 선언합니다).프로젝트 레벨에서 종속성을 찾는 메이븐 패키징

원자로에서 포장 할 때, 원자로는 두 아티팩트를 모두 가져 와서 예상 한대로 전쟁을 귀에 적절하게 포장합니다. 그러나 귀의 프로젝트 pom에서 패키징 할 때 (부모 pom을 가리키는 두 프로젝트의 요소를 선언 했음에도 불구하고) 귀가 전쟁 유물을 찾지 못합니다.

귀마개에서 패키징 할 때 Maven이 부모에게 올바르게 연결된다는 것을 알고 있지만, 부모가 포함하는 다양한 모듈로 반복하여 아티팩트를 선택하지 않습니다. 귀가 후 아이 모듈 있어야 WAR에 따라 달라집니다 경우 양육 구조가 깨진처럼

감사합니다 :)

답변

0

Maven이 작동하는 방식입니다. 괜찮아. 의존성을 해결할 때, Maven은 reactor, 그 다음에 local repository, 그리고 remote repos에서 그들을 찾는다. 따라서 상위 프로젝트 레벨에서 빌드를 수행 할 때 두 프로젝트가 모두 원자로에 있으므로 EAR이 WAR을 쉽게 선택할 수 있습니다. (즉, 부모 - 자식 관계가 아니라 모듈이라는 사실 때문입니다.) 그러나 EAR 모듈을 독립적으로 빌드하면 원자로는 원격 저장소뿐만 아니라 로컬 repo뿐만 아니라 WAR도 제공 할 수 없습니다. 로컬 모듈에 WAR 모듈을 mvn install 설치 한 다음 EAR을 빌드하려고하면 로컬 저장소를 사용하여 WAR 아티팩트를 찾습니다.

0

는 소리.

+0

그건 원래의 의도 였지만, EAR 레벨의 pom은 모듈 애그리 게이터 및 패키저가 아닐까요? 메이븐 (Maven)에서는 가능하지 않다고 생각했다. (즉, 모듈을 가지고 패키징 타입 POM을 가질 수도 있고, EAR로 패키징하고 모듈을 가질 수도있다). 서서히 말하면, 저는 WAR와 EAR이 나란히있어 EAR이 WAR에서 끌어 당깁니다. 더 나은 솔루션을 추천 해 주시겠습니까? – Rhys

관련 문제