Gradle 如何从ShadowJar中的配置文件夹中排除所有文件

Gradle 如何从ShadowJar中的配置文件夹中排除所有文件,gradle,shadowjar,Gradle,Shadowjar,我想从/conf文件夹中排除所有配置xml文件。但是,通过下面的shadowJar设置(参见第***行),我仍然可以看到names.xml(它是/conf下的一个xml文件)包含在jar中 如果我特别排除names.xml文件。我不会看到它,但我必须将每个文件的exclude放在/conf文件夹下 有没有一种方法可以使用exclude“conf/*.xml”来实现这一点 我的项目结构如下: myproject - conf - src -java -s

我想从/conf文件夹中排除所有配置xml文件。但是,通过下面的shadowJar设置(参见第***行),我仍然可以看到names.xml(它是/conf下的一个xml文件)包含在jar中

如果我特别排除names.xml文件。我不会看到它,但我必须将每个文件的exclude放在/conf文件夹下

有没有一种方法可以使用exclude“conf/*.xml”来实现这一点

我的项目结构如下:

myproject
   - conf
   - src
        -java
        -spring
我对shadowJar的定义是:

 shadowJar {

    version = '0.0.1'
    mergeServiceFiles()
    append("META-INF/spring.schemas")
    append("META-INF/spring.handlers")
    manifest {
        attributes "Main-Class": "com.common.server.Main.java"
    }
    exclude "names.xml"  //this is working.
    exclude "conf/*"     //***this is not working
}

我是shadowJar的新手,我尝试了几种方法来排除文件夹下的文件,但运气不佳,有人能给我一个提示吗?

有点问题,为什么shadowJar一开始就包含“conf”?默认情况下,它仅对源集进行操作。“conf”是标记为模块还是包含在脚本的某个地方?@Alexiy嗨,Alexiy,我没有指定conf作为源集,但是,我觉得默认情况下conf文件夹被识别为配置文件夹。因为我注意到,如果我将conf重命名为configuration,那么它就不包括在内。很奇怪。你对此有什么想法吗?