2017-05-17 9 views
0

Eclipse로 개발 된 Maven 웹 응용 프로그램을 가지고 있습니다. pom.xml 파일에 프로덕션 및 개발이라는 서로 다른 속성을 정의했습니다. 서로 다른 속성으로 정의했습니다. clean install을 사용하여 WAR 번들을 만들 때, maven-war-pluginfilteringDeploymentDescriptors으로 인해 모든 속성이 올바르게 대체 된 파싱 된 web.xml을 관리합니다.eclipse tomcat에 필터링 된 web.xml 게시

문제는 내가 사용하고있는 Eclipse Tomcat에 내 webapp를 게시 할 때 web.xml이 전혀 구문 분석되지 않고 모든 원시 속성 이름이있는 것입니다.

내 개발 프로파일에 activeByDefault을 true로 설정했으며 활성 Maven 프로파일 (등록 정보 >> 메이븐)도 설정했지만 여전히 작동하지 않습니다.

답변

0

나는이 솔루션의 생각 :

아이디어는 이클립스에 대한 응용 프로그램의 웹 루트 경로를 변경하는 것입니다

  1. 이클립스에서 프로젝트를 닫습니다.
  2. 외부 편집기에서 <project>/.settings/org.eclipse.wst.common.component 파일을 엽니 다.
  3. 을 설정 defaultRootSource로 : 외부 편집기에서

  4. 엽니 다 <project>/pom.xml 파일.

  5. <build> 태그 내에 추가

    <resources> 
        <resource> 
         <directory>src/main/webapp</directory> 
         <filtering>false</filtering> 
         <targetPath>../../target/m2e-wtp/web-resources</targetPath> 
         <excludes> 
          <exclude>WEB-INF</exclude> 
         </excludes> 
        </resource> 
    </resources> 
    
  6. 이클립스에서 프로젝트를 열고 그것을 시도.

이 스키마에서는 프로젝트가 자동으로 빌드되도록하고, 모든 빌드에서 Maven을 호출하여 리소스 필터링을 수행합니다. 그런 다음 Maven은 이중 필터링을 수행합니다.

  • web.xml (by filteringDeploymentDescriptors=true).
  • 나머지는 src/main/webapp 파일입니다 (<resources> 태그로). ... 결과는 target/m2e-wtp/web-resources 디렉토리로 출력됩니다. 이제는 Eclipse가 웹 자원을 찾고 싶어합니다.

WARN 없습니다 : 단 하나의 단점이있다 : 당신은 src/main/webapp에서 JSP를 실행하지 않는다, 즉 더 이상 웹 컨테이너 디렉토리이기 때문이다. 대신 브라우저를 열고 열려고하는 URL을 입력해야합니다.

"자동으로 빌드"를 켜고 실행 해 보았습니다. web.xml에서 초기화 매개 변수를 읽는 JSP를 실행했으며 clean package도 실행했으며 올바른 전쟁을 일으켰습니다.