2013-09-26 6 views
3

내 maven 프로젝트에 두 개의 다른 설명자 파일을 갖고 싶습니다. 첫 번째 (기본값)는 응용 프로그램 서버에 배포하기 위해 war 파일에 포함되어야하고 두 번째는 tomcat7-maven-plugin:run을 사용하여 개발에 사용해야합니다. <tomcatWebXml> 매개 변수가 있다는 것을 알고 있지만 변경하고 싶지 않은 Tomcat 전역 web.xml을 지정합니다.tomcat7-maven-plugin에서 다른 web.xml 서술자를 사용하는 방법 : 실행 하시겠습니까?

jetty-maven-plugin:run의 경우 <webApp>/<descriptor> 또는 <webApp>/<overrideDescriptor>을 지정할 수 있습니다. 첫 번째는 기본 파일 web.xml을 지정된 파일로 바꿉니다. 두 번째 파일은 지정된 파일 내용을 기본값 web.xml에 추가합니다.

tomcat7-maven-plugin과 동일한 기능을 수행하는 방법이 있습니까?

+0

모양을 webXml

추가 구성과 함께, 당신의 pom.xml에 그 플러그인을 추가하는 이유는'tomcatWebXml'은 더는 당신을 위해 좋은 무엇입니까? –

+0

매개 변수''은 Tomcat 글로벌 web.xml 파일을 덮어 씁니다. 사실 Tomcat의 일부로 릴리스 된 원본 파일을 사용하고 싶습니다. 또한이 150KB의 긴 파일을 복사하여'web.xml' 파일에 붙여 넣기를 원치 않습니다. – Vojta

답변

0

낡은 질문이지만 다른 사람이보고있는 경우를 대비하여 여기에 적어 두겠습니다.

예, 가능합니다.

당신은 org.apache.maven.plugins입니다 tomcat7-받는다는 - 플러그인 사용 (내장) 전쟁 빌더, 기본을 무시하여이 작업을 수행 할 수 있습니다 : 받는다는 전쟁 - 플러그인 오버라이드는 단순히 의해 이루어집니다 코드는 당신이 정교한 수이

<plugins> 
     ... 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-war-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       <webXml>myPath/web.xml</webXml> 
      </configuration> 
     </plugin> 
     <plugin> 
      <groupId>org.apache.tomcat.maven</groupId> 
      <artifactId>tomcat7-maven-plugin</artifactId> 
      <version>2.2</version> 
      <configuration> 
       ... other configurations here 
      </configuration> 
     </plugin> 
     ... 
    </plugins> 
+0

좋은 생각 이었지만 응용 프로그램 서버에 배포하고 두 번째로 바람둥이에 대한 두 개의 web.xml 파일이 필요했습니다. 이것은 당신의 maven-war-plugin 설정을 maven profile로 옮겨서 할 수 있습니다. 그러나 개발자는 tomcat을 실행할 때마다이 프로파일을 지정해야합니다. – Vojta