2014-06-12 1 views
4

일부 리소스를 필터링하고 환경 (예 : dev, production)에 따라 속성을 대체 할 gradle 구성 설정이 있습니다.는/WEB-INF/web.xml 파일은 Eclipse의 Gradle - 리소스가 필터링되지 않았습니다.

내 web.xml 파일에서 속성의 예는

  • 의 WebContent입니다 /주/자원/config.xml에

    • SRC :이은에 있습니다 아래 :

      apply plugin: 'eclipse-wtp' 
      
      processResources { 
          expand(props) // filter properties by environment 
          exclude 'log4j.properties' 
      } 
      
      war { 
          from 'WebContent' 
          exclude('WEB-INF/web.xml') 
          webInf { 
           from 'WebContent/WEB-INF/web.xml' 
           expand(props) 
          } 
          webXml = null 
      } 
      
      :

      <context-param> 
          <param-name>server.url</param-name> 
          <param-value>${server_url}</param-value> 
      </context-param> 
      

      내 build.gradle에서 발췌는 아래에 제시3210

      이 명령 행에서 전쟁을 빌드 할 때 잘 작동하지만 Eclipse에서이 구성을 사용할 때 자원을 적절히 필터링하지 않는 것 같습니다.

      이전에 Eclipse 빌드의 일부로 리소스가 필터링되는 Maven 플러그인이 작동했습니다. Eclipse에서 자원을 필터링 할 수 있습니까?

  • 답변

    0

    프로젝트에 webAppDirName 속성을 사용하고 war { ... } 블록의 제조물을 제거해야합니다. 어떤 Gradle 버전이이 속성을 도입했는지는 모르지만 적어도 2.0입니다. http://www.gradle.org/docs/current/userguide/war_plugin.html도 참조하십시오.

    이후 gradle eclipse은 war를 빌드하거나 wtp를 사용하여 모든 서버에 직접 배치하기 위해 Eclipse 관련 아티팩트를 생성해야합니다!