使用Gradle从jar中排除文件



我已经构建了一个springboot jar,我想使用gradle从fatjar中排除所有logback.xml。我尝试了以下方式。

jar{
exclude '/BOOT-INF/lib/**/logback.xml'
}

有人能帮我如何使用gradle从依赖项中排除所有logback.xml吗。

如果您不想将XML文件从src/main/resources复制到构建/resources/main文件夹(不仅仅是在将构建/resources/main复制到War时排除(,您可以使用类似:

processResources {
exclude('manual/*.xml')
}

点击此处查找更多信息。

这取决于xml文件保存在哪里。

你可以像下面这样尝试,并相应地更改路径。

sourceSets { main { resources { exclude '**/*.xml' } }  }

我个人认为"排除"事物是一种反模式。所以我会把你的问题抛在脑后,问"你什么时候需要包括文件?"目的是只在需要的时候包括一个额外的文件夹(而不包括不需要的文件夹(

如果这些文件仅用于测试,则应将这些文件移动到src/test/resources。如果是其他任务需要文件,那么我建议您将文件移动到src/xxx/resources,并仅将该文件夹添加到需要文件的任务中

按照惯例,src/main/resources中的所有内容都进入jar。在我看来,这是一个非常明智的惯例。

最新更新