2

我正在使用gradle战争插件,我试图WEB-INF在打包战争时排除目录中的一些目录,但排除似乎不起作用。这就是我所拥有的

 war {
   webInf {
        from 'src/main/config'
    }
   exclude('metadata/**')
  }

对此有任何解决方案吗?

4

4 回答 4

3

排除名为 contains 的文件夹,请在 build.gradle 文件metadata中使用以下代码:WEB-INF

war.rootSpec.exclude("**/WEB-INF/metadata/")

或者根据您的编码风格,您还可以使用:

war 
{ 
    rootSpec.exclude("**/WEB-INF/metadata/") 
}

gradle讨论论坛上的这个链接也可能有帮助

于 2016-03-14T18:50:17.107 回答
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
于 2013-06-11T15:22:47.577 回答
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/**'
    }
}
}
于 2015-04-13T10:08:54.820 回答
0
sourceSets {
    main {
        src {
            srcDir 'config'
            exclude 'metadata/**'
        }
    }
}
于 2020-04-10T02:04:23.643 回答