2012-10-12 4 views
1

Eclipse Indigo; m2e 1.1.0; WTP 0.15.3 용 Maven 통합; Maven 3.0.4Run maven : install은 예상보다 많은 WEB-INF/lib에 jar 파일을 복사합니다.

내 웹 프로젝트에는 동일한 작업 공간에 몇 가지 종속성 프로젝트가 있습니다. 모든 프로젝트가 설치됩니다. WEB-INF/lib에있는 모든 의존성을보기 위해 제외하고 maven install을 실행합니다.

maven install plugin 또는 maven war plugin을 실행하면 WEB-INF/lib가 종속성으로 채워지지만 "dependency Hierarchy"또는 "Effective POM"뷰에서 예상보다 훨씬 많습니다. POM 파일 또는 클래스 경로보기의 Maven 종속성에서 종속성을 찾을 수 없습니다.

실행 Maven-> 업데이트 프로젝트가 도움이되지 않습니다.

여기서 이러한 종속성은 어디에서 오며 어디에 디버깅해야합니까?

편집 이전에 내 프로젝트는 큰 종속성 트리 (100 개 + 항아리), 그들 중 일부는 필요하지 않은이있다, 그래서 나는 그들을 제거하기로 결정했다. 내 프로젝트는 공통된 프로젝트에 의존하는데, 의존성이 필요없는 프로젝트는 POM 종속성에서 제거하고 전체 프로젝트 종속성 트리의 성공을 위해 maven install을 실행합니다. 내 프로젝트에서 maven install을 실행하면 공통 프로젝트에서 제거한 jar를 포함해서는 안되지만 불행히도 WEB-INF/lib에 있습니다.

+1

예상되는 실제 병의 목록을 추가해야 할 수도 있습니다. – rolve

답변

0

문제가 해결되어 전체 프로젝트를 삭제하고 원격에서 가져 오기하고 maven-install을 실행하면 효과가있었습니다. 아직도 모든 의존 프로젝트에서 "maven clean install"을 실행 한 후에도 그것이 작동하지 않는 이유는 아직 알 수 없습니다.

1

당신이 당신의 의존성이 어디에서 오는지 알고 싶다면, 실행 명령 줄에서

mvn dependency:tree 

합니다. 이것은 전이 종속성을 선언 된 종속성에서 가져 오는 방법을 보여줍니다. 또한 실행할 수 있습니다 : 당신이 포장 된 JAR 파일의 수를 줄이기 위해 사용하지 않는 종속성을 제거 할 수있는 경우

mvn dependency:analyze 

볼 수 있습니다.

+0

입력 해 주셔서 감사합니다. mvn dependency : tree를 실행하면 결과는 Eclipse POM 뷰에서 보았 듯이 추가 항아리가 없습니다. 내가 알고 싶은 것은 왜 그것은 의존성 트리에없는 WEB-INF/lib에 여분의 jar 파일을 복사했는지입니다. – Mike