2013-02-05 6 views
1

maven을 사용하여 다중 모듈 webapp을 빌드하고 있습니다. 자신의 모듈에서 통합 테스트를 실행하고 부티크 플러그인을 사용하고 싶습니다. 모든 것을 작동 시키려면 전쟁을위한 클래스 패스에 항아리 몇 개를 추가해야하지만 문서에 그러한 옵션에 대한 옵션이 없습니다. http://www.eclipse.org/jetty/documentation/current/jetty-maven-plugin.html#deploy-war-running-pre-assembled-warmaven-jetty-plugin에 테스트 jar를 추가하거나 maven-war-plugin으로 test-war를 생성하십시오.

전쟁을 전개 할 수는 있지만 실패합니다. 추가 할 필요가있는 두 개의 항아리가 없습니다.

플러그인 구성에 몇 개의 추가 항아리를 추가 할 수있는 방법이 있습니까?

그렇지 않다면, 당신이 maven에서 test-jar로 할 수있는 것처럼 "테스트 전쟁"을 패키지화 할 수있는 방법이 있습니까?

답변

0

플러그인의 <dependencies/>에 직접 종속성을 추가하십시오. 스코프 또는 아무 것도 필요하지 않습니다. 최종 완성품을 입력하지 않고 실행 중에 Jetty 플러그인에서만 사용합니다.

+0

오늘 밤까지 테스트 할 수 없습니다. 이 경우 컨테이너 클래스 패스 또는 webapp 클래스 패스에 추가됩니까? – digitaljoel

+0

글쎄, 그것은 컨테이너에 대한 것이지만, 나는 여분의 클래스 패스도 정의 할 수있는 방법이 있다고 믿는다. – carlspring

+0

ㅎ, 그건 내 질문이다. 나는 방법이 있다고 믿고 싶습니다. 그러나 방법은 무엇입니까? 부두 플러그인의 "배포 - 전쟁"목표에 대한 문서는 매우 드물다. – digitaljoel

1

jetty-maven-plugin을 사용하여 웹 응용 프로그램 클래스 경로를 확장하는 방법은 여러 가지가 있습니다.

<configuration> 
... 
<webAppConfig> 
    ... 
    <extraClasspath>path/to/your/custom-dependency.jar</extraClasspath> 
</webAppConfig> 
</configuration> 

문서가 매우 일치하지 않습니다 : 당신이 당신의 플러그인 구성의 webAppConfig 블록에서 extraClasspath 필드를 설정하는 것위한 가장 충당. 그러나 javadoc은 분명합니다.

jetty plugin wiki page에서 관련 구성 예를 찾을 수 있습니다.

+0

멋진 페이지이지만 war packaging 형식이 아닌 모듈에서 deploy-war를 사용하여 war에 webAppConfig를 제공 할 수 있습니까? 그것을 시도한 것 같아 작동하지 않습니다. 결국 포기하고 통합 테스트를 전쟁 프로젝트로 옮겼습니다. – digitaljoel

+0

나는 그렇다고 말할 것이지만 그것을 시험하지는 않았다. 가장 좋은 방법은 통합 테스트를 위해 커스텀 전쟁을 패키지하는 것입니다. 전쟁 오버레이 기능을 사용하여 테스트 전쟁에 생산 전쟁을 포함 시키거나 Maven 분류기를 사용하여 동일한 프로젝트에서 두 프로젝트를 패키징 할 수 있습니다. [이 링크] (http://www.jayway.com/2010/01/21/one-artifact-with-multiple-configurations-in-maven/)를 참조하십시오. – benweet