我在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中。