【问题标题】:Gradle with Eclipse - resources are not filteredGradle with Eclipse - 资源不被过滤
【发布时间】:2014-08-02 09:01:42
【问题描述】:

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

  • src/main/resources/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
}

当我从命令行构建战争时,这可以正常工作,但是当我在 Eclipse 中使用此配置时,它似乎没有适当地过滤资源。

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

【问题讨论】:

    标签: java eclipse gradle eclipse-wtp


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2013-08-11
      • 1970-01-01
      • 2013-06-07
      • 2012-11-19
      • 2017-12-31
      • 2012-12-26
      • 2013-12-21
      • 2016-08-16
      • 2011-02-15
      相关资源
      最近更新 更多