我正在使用gradle
战争插件,我试图WEB-INF
在打包战争时排除目录中的一些目录,但排除似乎不起作用。这就是我所拥有的
war {
webInf {
from 'src/main/config'
}
exclude('metadata/**')
}
对此有任何解决方案吗?
要排除名为 contains 的文件夹,请在 build.gradle 文件metadata
中使用以下代码:WEB-INF
war.rootSpec.exclude("**/WEB-INF/metadata/")
或者根据您的编码风格,您还可以使用:
war
{
rootSpec.exclude("**/WEB-INF/metadata/")
}
您是否正在寻找类似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
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/**'
}
}
}
sourceSets {
main {
src {
srcDir 'config'
exclude 'metadata/**'
}
}
}