2014-10-02 3 views
0

모듈 프로젝트를 보유하고 있습니다. 최상위 수준에 는 내가 가지고 :Eclipse 메이븐 프로젝트 프로젝트 배포

<modules> 
    <module>base</module> 
    <module>module1</module> 
    <module>module2</module> 
    <module>ear</module> 
    </modules> 

기본 모듈은 항아리로 포장됩니다. module1과 module2는 기본 모듈에 대한 종속성으로 인해 전쟁으로 간주됩니다. Ear 프로젝트는 module1 및 module2에 종속되며 그에 따라 패키지됩니다. module1과 module2의 POM은 정확히 같습니다 !!

eclipse에서 로컬 서버에 배포하는 것을 제외하면 모든 것이 완벽하게 작동합니다. 문제는 module2에 배포 된 ear의 lib 폴더에 base.jar이 누락되었다는 것입니다. 그러나 module1에 있습니다! 명령 줄에서 mvn을 설치하면 대상 lib 폴더에도 포함됩니다! Eclipse에서 모든 종속성이 해결되었습니다! 내가 생각할 수있는 모든 것을 시도했습니다

:

  • 프로젝트를 다시 가져가, 모든 관련 파일 일식 청소
  • ,
  • 로컬 메이븐 저장소를 청소,
  • 서버의 tmp 폴더를 청소 프로젝트를 다시 추가하십시오.
  • 업데이트 설치 및 설치

아무 것도 도움이되지 못했습니다.

건배

편집 : 나는 어떻게 든 끔찍한 발견을 한

: 나는 "amodule"라는 이름의 모듈을 추가 한 . 맞춰봐, 필요한 항아리가 있고 다른 항아리는 가지지 않았다. 알파벳순의 첫 번째 모듈 만이 항아리를 얻고 다른 모듈은 항아리를 얻지 않는 것처럼 보입니다.

답변

0

내 솔루션은 기본 모듈을 포함하는 프로젝트에서 "작업 영역 종속성 해결"의 선택을 취소하는 것이 었습니다.

비록 부작용이 있습니다. 디버깅하는 동안 base.jar은 모듈의 외부 항아리처럼 처리됩니다 (프로젝트 -> 환경 설정 -> 메이븐 -> 선택 취소 : 작업 영역 종속성 해결). 소스 코드 경로를 지정할 수는 있지만 기본 프로젝트에서 중단 점을 설정하고 디버거가 해당 행에 도달 할 때까지 기다릴 수 없습니다.