Java 带Eclipse的渐变-不筛选资源

Java 带Eclipse的渐变-不筛选资源,java,eclipse,gradle,eclipse-wtp,Java,Eclipse,Gradle,Eclipse Wtp,我有一个gradle配置设置,根据环境(例如开发、生产)过滤一些资源并替换属性。它们位于: src/main/resources/config.xml WebContent/WEB-INF/WEB.xml my web.xml文件中的属性示例如下: <context-param> <param-name>server.url</param-name> <param-value>${server_url}</param-value&

我有一个gradle配置设置,根据环境(例如开发、生产)过滤一些资源并替换属性。它们位于:

  • src/main/resources/config.xml
  • WebContent/WEB-INF/WEB.xml
my web.xml文件中的属性示例如下:

<context-param>
  <param-name>server.url</param-name>
  <param-value>${server_url}</param-value>
</context-param>
当我从命令行构建war时,这很好,但是当我从Eclipse使用此配置时,它似乎没有适当地过滤资源


我以前让Maven插件工作,在Eclipse构建中,资源将被过滤。可以让Eclipse过滤资源吗?

您应该为您的项目使用
webAppDirName
属性,并删除
war{…}
块中的manuell内容。我不确定哪个Gradle版本引入了这个属性,但至少是2.0。另见

之后,
gradleeclipse
应该生成适当的eclipse工件来构建您的war,或者使用wtp直接部署到任何服务器

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
}