我在src/main/resources下有一个“production”logback配置文件logback.xml ...但该目录还包含“testing”logback配置文件logback-test.xml(该logback首先查找)。Gradle - 如何从可执行jar中排除资源?
创建可执行jar时,我想删除“testing”xml文件。
我想这
jar {
manifest {
// PS this is the correct line for Shadow Plugin...
attributes 'Class-Path': '/libs/a.jar'
attributes 'Main-Class': 'core.MyMainClass'
}
exclude("**/resources/*test*")
}
,我尝试这个
jar {
manifest {
attributes 'Class-Path': '/libs/a.jar'
attributes 'Main-Class': 'core.MyMainClass'
}
doLast {
exclude("**/resources/*test*")
}
}
...我究竟做错了什么?
后
我发现here,我可能是真难为我自己把这些个XML下/ src目录/主/资源......所以我创建src下一个新的目录/的logback ,并将文件放在那里。我已将此添加到类路径(如的logback说这就是它看起来对这些文件)通过这样做:
test {
classpath += files('src/logback')
}
有趣的是,还有的含义在测试过程中记录发生OK,这是足以让生成的可执行程序jar在运行时使用logback OK。
不幸的是,配置 “shadowJar” task
这样
shadowJar {
baseName = 'DocumentIndexer'
classifier = null
version = project.version
exclude("logback/*test*")
}
或配置 “罐子” task
这样的:
jar {
manifest {
attributes 'Class-Path': '/libs/a.jar'
attributes 'Main-Class': 'core.ConsoleIOHandler'
}
exclude("logback/*test*")
}
...只是拒绝工作:文件的logback测试.xml仍然存在于jar中。