gradle - 测试失败,出现NoClassDefFoundError:kotlin/AutoCloseableKt

标签 gradle kotlin corda

最近,我的测试开始失败,出现了一个奇怪的NoClassDefFoundError: kotlin/AutoCloseableKt。此类包含2个内联实用程序方法,并且是kotlin-stdlib-jre7兼容性包的一部分。我使用JVM 1.8。此外,该项目不适用于AutoClosable

这可能是什么原因?

我使用Corda框架,最近我还添加了对Koin的依赖,如果有帮助的话

异常(exception):

kotlin/AutoCloseableKt
java.lang.NoClassDefFoundError: kotlin/AutoCloseableKt
    at net.corda.node.internal.cordapp.CordappLoader$Companion$createDevCordappJar$1.apply(CordappLoader.kt:150)
    at net.corda.node.internal.cordapp.CordappLoader$Companion$createDevCordappJar$1.apply(CordappLoader.kt:59)
    at java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1660)
    at net.corda.node.internal.cordapp.CordappLoader$Companion.createDevCordappJar(CordappLoader.kt:143)
    at net.corda.node.internal.cordapp.CordappLoader$Companion.access$createDevCordappJar(CordappLoader.kt:59)
    at net.corda.node.internal.cordapp.CordappLoader$Companion$getPackageURLs$1.invoke(CordappLoader.kt:135)
    at net.corda.node.internal.cordapp.CordappLoader$Companion$getPackageURLs$1.invoke(CordappLoader.kt:59)
    at kotlin.sequences.TransformingSequence$iterator$1.next(Sequences.kt:174)
    at kotlin.sequences.SequencesKt___SequencesKt.toCollection(_Sequences.kt:691)
    at kotlin.sequences.SequencesKt___SequencesKt.toMutableList(_Sequences.kt:721)
    at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:712)
    at net.corda.node.internal.cordapp.CordappLoader$Companion.getPackageURLs(CordappLoader.kt:138)
    at net.corda.node.internal.cordapp.CordappLoader$Companion.createDefaultWithTestPackages(CordappLoader.kt:100)
    at net.corda.testing.node.internal.InProcessNode.<init>(NodeBasedTest.kt:134)
    at net.corda.testing.node.internal.DriverDSLImpl$Companion$startInProcessNode$1.invoke(DriverDSLImpl.kt:805)
    at net.corda.testing.node.internal.DriverDSLImpl$Companion$startInProcessNode$1.invoke(DriverDSLImpl.kt:767)
    at net.corda.core.internal.concurrent.ValueOrException$DefaultImpls.capture(CordaFutureImpl.kt:107)
    at net.corda.core.internal.concurrent.OpenFuture$DefaultImpls.capture(CordaFutureImpl.kt)
    at net.corda.core.internal.concurrent.CordaFutureImpl.capture(CordaFutureImpl.kt:119)
    at net.corda.core.internal.concurrent.CordaFutureImplKt$fork$$inlined$also$lambda$1.run(CordaFutureImpl.kt:22)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: kotlin.AutoCloseableKt
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 27 more

我的./gradle dependencies
https://scans.gradle.com/s/bta3ize65pnc4/dependencies?toggled=W1sxXSxbMSwyMDhdXQ

最佳答案

这是由版本偏斜引起的。您可以尝试使用以下依赖项重新编译CorDapp吗?

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

关于gradle - 测试失败,出现NoClassDefFoundError:kotlin/AutoCloseableKt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54404400/

相关文章:

eclipse - 如何让 Gradle 为 Eclipse 生成 java.library.path

java - 使用 Android Studio 3.1 和 gradle 3.1.0 构建项目时出错

listview - 嵌套 ScrollView 和 ListView 仅显示1个元素

kotlin - Corda事件调度中的可调度状态

Corda 节点在尝试加载数据时出现 JVM OutOfMemory 异常

android - 如何安装 Splunk Mint Gradle 插件?

eclipse - 带有gradle的Eclipse智能

android - Mapstruct kotlin 和 @Named 注解

functional-programming - Kotlin中如何用动态编程实现纯函数?

blockchain - 谁在 Corda 管理公证人?