0
Gradle 2.5Gradle:排除彙編中不同的資源文件
我有幾個資源包文件。其中一些我想從打包在目標jar文件中的beeing中排除,因爲它們不包含尚未授權的翻譯。
根據文檔和例子,我發現我有這樣的指令:
sourceSets {
main {
resources {
exclude 'mail/mailtext_it.properties'
}
}
}
,並斷言,此指示是正確地打印出主資源的文件集解釋:
processResources
{
afterEvaluate
{
println "resource files (in processResources): " + sourceSets['main'].resources.getFiles()
}
}
運行時「gradle clean assembly」中,打印出的資源集確實是我期望的(排除的文件不在那裏列出),但build/resource /文件夾仍然包含文件,並且它們也存在於目標jar中。
我缺少什麼?根據哪個源文件集,哪個任務負責將資源文件複製到構建目錄?
只是一個猜測,我想,從源集排除文件只是讓在處理資源相他們不要處理。從檔案中排除它們。如果你需要從jar文件中排除它們,你需要在'jar'塊中配置'exclude'塊。 [這裏](https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Jar.html)是有用的文檔。 – Opal
到目前爲止,我的理解是:processResources將文件複製(並過濾)到構建目錄(因爲編譯任務將源文件編譯到構建目錄中),並且jar任務從構建中挑選準備的構件(編譯,過濾)目錄並將它們打包成一個罐子。這張照片是錯的嗎? – Heri
它按照你的寫法工作。不知道爲什麼腳本無法正確排除文件 - [demo](https://github.com/Opalo/stackoverflow/tree/master/33347557)'lol'和'lol3'文件應該包含在最終的jar文件中。 – Opal