Eclipse 3.7.2에서 많은 프로젝트를 만들었습니다. 의 그들의 이름 일부를 들어 보겠습니다 :Eclipse WTP의 프로젝트 간 종속성
- W (동적 웹 프로젝트)
- A (일부 라이브러리)
- B (일반 물건의 많은 도서관, 그 너무 다른 프로젝트에서 사용됩니다)
프로젝트 A는 프로젝트 B에 따라 달라 지므로 B는 A의 빌드 경로에 있습니다. 프로젝트 W는 프로젝트 A에 의존하므로 W를 배치 어셈블리로 A를 추가했습니다.
Eclipse 내에서 WAR를 내보낼 때 A에 대한 JAR 파일 만 WEB-INF/lib에 추가됩니다. Eclipse는 다음 경고를 표시합니다.
클래스 경로 항목/B는 내보내기 또는 게시되지 않습니다. 런타임 ClassNotFoundExceptions이 발생할 수 있습니다.
경고가 정확합니다. 나는 런타임에 ClassNotFoundExceptions를 얻는다. 물론 Eclipse는 "관련 원시 클래스 경로 항목을 게시/내보내기 종속으로 표시"하는 경고에 대한 빠른 수정을 제공합니다. 그러나 이것은 내 문제를 해결하지 못합니다. B는 여전히 W와 함께 배포되지 않습니다.
A에서 배포 어셈블리로 B를 수동으로 추가하려고했습니다. 그건 A.jar 내의 B.jar를 포함하는데, 실제로는 원하는 것이 아니며 여전히 ClassNotFoundExceptions를 얻습니다.
작동하는 유일한 것은 수동으로 W를 배치 어셈블리로 B를 추가하는 것입니다. Eclipse는 위에서 경고를 표시하지만 런타임 예외는 사라졌습니다.
나는 뭔가를 놓치고 있습니까? 아니면 이걸 실제로 얻을 수있는 유일한 방법입니까?
m2eclipse 플러그인을 사용하고 있습니까? 전쟁을 생성하기 위해 Maven 빌드를 사용하고 있습니까? –
현재 Maven을 사용하여 전쟁을 구축하고 있지 않습니다. 그것은 내가 앞으로하고 싶은 일 중 하나입니다. 그때까지 나는 이클립스로 전쟁을 만들고 그것의 수출 기능이다. –
A의 빌드 경로 구성에서 B를 "내 보낸"으로 설정하십시오. – miniBill