我正在使用gradle
war插件,我试图在打包战争时排除WEB-INF
目录中的某些目录,但排除似乎不起作用。
这就是我所拥有的
war {
webInf {
from 'src/main/config'
}
exclude('metadata/**')
}
对此有任何解决方案吗?
答案 0 :(得分:3)
要排除 metadata
中包含的名为WEB-INF
的文件夹,请在build.gradle文件中使用以下代码:
war.rootSpec.exclude("**/WEB-INF/metadata/")
或根据您的编码风格,您也可以使用:
war
{
rootSpec.exclude("**/WEB-INF/metadata/")
}
This link on the gradle discussion forum may also be of help
答案 1 :(得分:1)
您正在寻找类似http://gradle.1045684.n5.nabble.com/Exclude-properties-file-from-war-td3365147.html之类的内容吗?如果是这样,请记住,在最新版本的Gradle(我使用的是1.6)中,有sourceSets.main.output
。
如果您可以指定元数据并附加项目的布局,那将非常有用。
还有一件事:您可能也想:
//remove jars only for provided compile
classpath -= configurations.providedCompile
答案 2 :(得分:0)
war {
// remove classes from the classpath <<<<<<<
classpath = configurations.runtime
// add them in explicitly, with the filtering applied
webInf {
into('classes') {
from sourceSets.main.classes
exclude 'org/gradle/sample/excludeme/**'
}
}
}
答案 3 :(得分:0)
sourceSets {
main {
src {
srcDir 'config'
exclude 'metadata/**'
}
}
}