由于这个问题是零星出现的,我无法可靠地复现。以下是使用Gradle构建Kotlin项目时所得到的结果:
Could not perform incremental compilation: Could not connect to Kotlin compile daemon
Could not connect to kotlin daemon. Using fallback strategy.
:myproj:compileKotlin FAILED
1 actionable task: 1 executed
e: java.lang.NoClassDefFoundError: Could not initialize class kotlin.Unit
warning: the '-d' option with a directory destination is ignored because '-Xbuild-file' is specified
Exception in thread "Thread-25" java.lang.NoClassDefFoundError: Could not initialize class kotlin.Unit
at org.jetbrains.kotlin.compilerRunner.UtilsKt$runToolInSeparateProcess$readErrThread$1$1.invoke(utils.kt)
at kotlin.io.TextStreamsKt.forEachLine(ReadWrite.kt:154)
at org.jetbrains.kotlin.compilerRunner.UtilsKt$runToolInSeparateProcess$readErrThread$1.invoke(utils.kt:68)
at org.jetbrains.kotlin.compilerRunner.UtilsKt$runToolInSeparateProcess$readErrThread$1.invoke(utils.kt)
at kotlin.concurrent.ThreadsKt$thread$thread$1.run(Thread.kt:18)
e: java.lang.NoClassDefFoundError: Could not initialize class kotlin.Unit
...
我使用以下选项运行Gradle:
gradle assemble --no-daemon --parallel
- 我在Docker和本地机器上尝试过,这甚至在CI服务器上也会发生
- 这个错误完全是随机的,我无法找出原因
- 它也会在单模块和多模块项目中发生
- 删除
--parallel
或添加--daemon
选项都没有帮助 - 我正在使用Gradle
4.2
Kotlin
依赖中使用了不同版本的Kotlin
,那就很重要。 - Giorgio Antonioli