2014-11-10 5 views
0

서버에 배포하거나 게시 할 때 src/main/resources 폴더에서 Waven 제외 Maven 리소스를 만들려면 어떻게해야합니까? 예를 들어, src/main/resources/qa와 src/main/resources/prod라는 폴더를 몇 개 만들었습니다. 거기에 속성 파일이 있습니다. 배포 용으로 사용하고 싶지만 WAR 파일 아티팩트에 포함하고 싶지 않습니다.Eclipse WTP에서 서버로 게시 할 때 Maven 리소스를 어떻게 제외합니까?

내 pom.xml에 리소스 스탠자를 추가하면 (예 : mvn package을 실행할 때) 해당 폴더를 Maven 빌드에서 제외 할 수 있으며 내 WAR 파일 아티팩트에 표시되지 않습니다.

그러나 WTP에서 "Debug As .."접근 방식을 사용하여 Eclipse가 관리하고 내 로컬 Tomcat 서버에 연결될 수있게되면 WTP가 로컬 Tomcat 서버에있는 제외 된 폴더를 비롯한 모든 리소스를 게시하는 것을 볼 수 있습니다. . WTP가 사용하는 배포 대상인 wtpwebapp 폴더를 보았습니다. 이클립스 서버 정의에서 WAR 아티팩트를 제거하면 사라집니다. 그런 다음 제외 된 리소스는 프로젝트를 서버에 다시 추가 할 때 다시 찾아냅니다.

적절한 소스 라이브러리에서 내 프로젝트의 Java 빌드 경로에 "**/qa /"및 "**/prod /"항목이있는 폴더를 명시 적으로 제외하려고 시도했지만 실제로는 이클립스 프로젝트를 다시 작성했습니다. mvn eclipse:clean eclipse:eclipse -Dwtpversion=2.0을 사용하면 빌드 경로 제외가 자동으로 추가됩니다. 그들은 WTP가 출판 할 때 영광을 얻지 못하는 것 같습니다.

답변

0

@Greg 대신 이클립스 WTP의 메이븐을 데 고려해야 할

하나의 옵션은 서버에 WAR를 밀어 넣습니다.

이렇게하면 Eclipse가 백그라운드에서 수행하는 작업에 따라 절충점이 생길 수 있습니다.

그런 다음 데스크톱은 CI 빌드에서 일어나는 일을보다 정확하게 미러링합니다.

어쨌든 this guidetomcat7:deploy 목표를 구성하는 좋은 방법을 설명합니다.

다음은 시작하는 제안 pom.xml 조각입니다 :

WTP를 이클립스 좋은 대안이며, 또한 메이븐 프로젝트를 지원하는 다른 IDE에 이식 될
<plugins> 
    <plugin> 
     <groupId>org.apache.tomcat.maven</groupId> 
     <artifactId>tomcat7-maven-plugin</artifactId> 
     <version>2.2</version> 
     <executions> 
      <execution> 
       <phase>deploy</phase> 
       <goals> 
        <goal>redeploy</goal> 
       </goals> 
       <configuration> 
        <url>http://localhost:8080/manager/text</url> 
        <server>TomcatServer</server> 
        <path>/mkyongWebApp</path> 
       </configuration> 
      </execution> 
     </execution> 
    </plugin> 
    </plugins> 
+0

. 그러나 WTP는 또한 디버깅 설정을위한 많은 배관 작업을 수행하며,이 경로를 따라 가면 별도로 설정해야합니다. 하지만, 당신이 참조하는 사이트도 maven 목표로 그렇게하는 방법에 대한 지침을 가지고 있다고 생각합니다 (웹 애플리케이션을 디버깅하기 위해 Eclipse를 Tomcat에 첨부하십시오). – Greg