Сбой теста с NoClassDefFoundError: kotlin / AutoCloseableKt - PullRequest
0 голосов
/ 28 января 2019

Недавно мои тесты провалились со странным NoClassDefFoundError: kotlin/AutoCloseableKt.Этот класс содержит 2 встроенных служебных метода и является частью пакета совместимости kotlin-stdlib-jre7.Я работаю с JVM 1.8.Более того, проект не работает с AutoClosable.

Что может быть причиной этого?

Я использую платформу Corda, также недавно я добавил зависимость от Koin, если это помогает

Исключение:

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

1 Ответ

0 голосов
/ 29 января 2019

Это вызвано перекосом версии.Можете ли вы попробовать перекомпилировать CorDapp со следующей зависимостью?

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