2011-12-15 2 views
5

m2e 플러그인 (버전 1.0.1)과 함께 Eclipse Indigo를 사용하고 있습니다.로컬 메이븐 종속성 프로젝트가 jar 파일 대신 클래스 폴더로 참조됩니다.

<dependency> 
    <groupId>com.mycompany.widget</groupId> 
    <artifactId>Calendar</artifactId> 
    <version>1.2</version> 
    <type>jar</type> 
</dependency> 

내가 MVN 깨끗한 위젯 프로젝트에 설치 실행하는 경우 : 기본적으로 만약 angel 위젯과 함께 그 위젯을 참조하는 내 주요 프로젝트 인 제 2 Maven 프로젝트 인 Maven 프로젝트 : 나는 두 개의 별도의 작업 공간 프로젝트가 이것은 jar 파일로 적절하게 패키징되어 있으며 로컬 Maven 저장소에서도 사용할 수 있습니다. 내 주요 프로젝트에서 위젯 클래스를 사용할 수도 있습니다. 그러나, 내 메인 프로젝트의 Maven 종속성에서 위젯 프로젝트는 jar 대신 클래스 폴더로 표시됩니다 (다른 모든 외부 위젯 종속성은 jar 파일로 표시되지만).

종속성을 가진 주 프로젝트에 대한 종속성을 언팩 (또는 복사)하려고하면 몇 가지 문제가 발생합니다. unpack-dependencies (종속 종속성 : 복사 의존성).

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.4:unpack-dependencies (default-cli) on project [main project]: Error unpacking file: /.../Calendar/target/classes to: /.../[main-project]/target/classes 
[ERROR] org.codehaus.plexus.archiver.ArchiverException: The source must not be a directory. 

내 질문은 : 어떻게 항아리 대신 내 주요 프로젝트에 클래스 폴더로 내 위젯 프로젝트를 참조 할 수 받는다는 빌드는 실패?

답변

6

별도의 디렉토리에 있습니다. 맞습니까? 이것을 시도하십시오 : 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Maven -> Disable Workspace Resolution을 선택하십시오.

또한 프로젝트 특성을 점검하고 프로젝트가 Java 빌드 경로 -> 프로젝트에서 참조되지 않는지 확인하십시오.

+0

감사합니다. 작업 영역 해상도를 비활성화해야했습니다. Run Configurations에서 "Resolve Workspace artifacts"의 선택을 취소하면 maven-dependency-plugin 오류가 사라졌습니다. – user1099501