Gradle:Jarに同じエントリが重複してしまうバグ
最新版で修正されているのかどうか不明だが、Gradle4.4.1ではこのバグがある。jarタスクでjarファイルを作成すると、エントリが重複してしまう。
再現サンプル
build.gradle
apply plugin: 'java'
sourceSets {
main {
output.classesDir = 'bin'
output.resourcesDir = 'bin'
java {
srcDir 'src';
}
resources {
srcDir 'src';
}
}
}
プログラムの中身は何でもよい。とりあえず以下のような構成だ。
「gradle jar」でjarファイルを作成すると、.classとgifリソースが重複して格納される。
これについての議論
こちらにある。
- Standard jar task generates a jar with duplicate entries if we change the resource output folder.
- Add an option to avoid duplicate entries when creating a zip file
この時点では解決する気が無いらしい。現在解決されているかは不明である。
解決方法
先の議論にもあるが、以下を追加する。
jar {
duplicatesStrategy= DuplicatesStrategy.EXCLUDE
}