2011-01-20 3 views
-1

Maven을 사용하여 빌드를 관리하고 있습니다. 개발자 테스트를 위해 Jetty Maven 플러그인에서 jetty : run 목표를 사용하여 시작한 Jetty를 사용합니다. 나는 또한 전쟁이 있음을 주목해야한다 : Jetty가 돌아 다니는 디렉토리를 만드는 초기 단계에서 폭발적으로 실행되었다.Maven을 통해 Jetty를 실행하는 클래스 경로 관련 문제

내가 겪고있는 문제는 war : exploded 태스크가 WEB-INF/lib (빌드해야 함)에 빌드 종속성을 넣었으며 Maven이 시스템 클래스 로더를 통해 빌드 클래스 경로에 Jetty에게 먹이를주고있는 것으로 보입니다. 이것은 모든 항아리가 두 번로드되는 것을 의미합니다. 이어야합니다. 슬프게도, Datanucleus 라이브러리는 클래스 패스에 두 번째로드 될 때 예외를 throw합니다.

제가 생각할 수있는 유일한 해결책은 빌드 프로파일과 개발자 테스트 프로파일이라는 두 개의 프로파일을 만드는 것입니다. 개발자 테스트 프로필은 모든 종속성을 제외하고 jetty : run은 개발자 테스트 프로필에서 실행됩니다. 이것은 내가 생각하는 무언가를위한 많은 구성처럼 보인다.

Maven이 빌드 클래스 경로를 부두로로드하지 못하게하는 방법이 있는지 아는 사람이 있습니까?

답변

2
<plugin> 
<groupId>org.mortbay.jetty</groupId> 
<artifactId>maven-jetty-plugin</artifactId> 
<version>6.1.26</version> 
<configuration> 
    <useTestClasspath>true</useTestClasspath> 

...

옵션 "useTestClasspath"당신이 찾고있는 효과가 있어야한다.