不筛选包含Eclipse资源的java Gradle
我有一个gradle配置设置,可以根据环境(例如开发、生产)过滤一些资源并替换属性。它们位于:
- src/main/resources/config。xml
- WebContent/WEB-INF/WEB。xml
我的网站上的一个属性示例。xml文件如下:
<context-param>
<param-name>server.url</param-name>
<param-value>${server_url}</param-value>
</context-param>
摘自我的身材。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 楼答案
您应该为项目使用
webAppDirName
属性,并删除war { ... }
块中的manuell内容。我不确定哪个Gradle版本引入了这个属性,但至少是2.0。另见http://www.gradle.org/docs/current/userguide/war_plugin.html之后
gradle eclipse
应该生成适当的Eclipse工件来构建war,或者使用wtp直接部署到任何服务器