我有一个gradle配置设置来过滤一些资源并根据环境(例如dev,production)替换属性。它们位于:
我的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过滤资源?
答案 0 :(得分:0)
您应该为项目使用webAppDirName
属性,并删除war { ... }
块中的manuell内容。我不确定哪个Gradle版本引入了这个属性但至少2.0。另请参阅http://www.gradle.org/docs/current/userguide/war_plugin.html。
之后gradle eclipse
应该生成适当的Eclipse工件来构建你的战争或使用wtp直接部署到任何服务器!