LoginSignup
0
0

More than 1 year has passed since last update.

【JMH】JMH Gradle Pluginでkotlin-reflectを入れているとjmhJarがCould not expand ZIPで落ちる問題への対処【Kotlin】

Last updated at Posted at 2020-11-28

TL;DR

  • JMH Gradle Pluginme.champeau.gradle.jmh)でkotlin-reflectを入れているとjmhJarCould not expand ZIP '${キャッシュのファイルパス}/kotlin-reflect-1.4.20.jar'.というようなエラーメッセージを吐いて落ちる
    • 一番下のCaused byorg.gradle.api.file.DuplicateFileCopyingException: Encountered duplicate path "META-INF/versions/9/module-info.class" during copy operation configured with DuplicatesStrategy.FAIL
  • tasks -> jmhJarMETA-INF/versions/9/module-info.classexcludeすれば状況は改善する
    • 原因はJava 9以降向けのモジュールシステム関連?

状況

冒頭に書いた通り、kotlin-reflectを入れているとjmhJarCould not expand ZIP '${キャッシュのファイルパス}/kotlin-reflect-1.4.20.jar'.として落ちるようになりました。

対処

以下のように、tasks -> jmhJarMETA-INF/versions/9/module-info.classexcludeする設定を追加した所正常に動作するようになりました。
ここで指定しているファイルは、kotlin-reflectjarに含まれているものです。

build.gradle.kts
// 略

tasks {
    jmhJar {
        exclude("META-INF/versions/9/module-info.class")
    }

    // 略
}

原因は正直よく分かっていませんが、META-INF/versions/9/module-info.classJava 9以降向けの内容で、今回触っていたプロジェクトはJava 8向けだったため、無くても困らないかなとは思っています。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0