Gradle with Eclipse - 不过滤资源

时间:2014-06-12 06:14:10

标签: java eclipse gradle eclipse-wtp

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

  • 的src /主/资源/ config.xml中
  • 的WebContent / WEB-INF / web.xml中

我的web.xml文件中的属性示例如下:

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

我的build.gradle摘录如下:

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
}

当我从命令行构建war时,这很好用,但是当我在Eclipse中使用这个配置时,它似乎没有适当地过滤资源。

我之前使用Maven插件工作,资源将作为Eclipse构建的一部分进行过滤。是否有可能让Eclipse过滤资源?

1 个答案:

答案 0 :(得分:0)

您应该为项目使用webAppDirName属性,并删除war { ... }块中的manuell内容。我不确定哪个Gradle版本引入了这个属性但至少2.0。另请参阅http://www.gradle.org/docs/current/userguide/war_plugin.html

之后gradle eclipse应该生成适当的Eclipse工件来构建你的战争或使用wtp直接部署到任何服务器!