Страницы

Поиск по вопросам

вторник, 11 июня 2019 г.

Ошибка: java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeCon

При попытке собрать проект возникает ошибка.
Код проекта:
fun main(args : Array) { println(“Hello”) }
Ошибка:
Error:Kotlin: [Internal Error] java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter at org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils.parseMetadata(KotlinJavascriptMetadataUtils.kt:102) at org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils$loadMetadata$2.invoke(KotlinJavascriptMetadataUtils.kt:83) at org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils$loadMetadata$2.invoke(KotlinJavascriptMetadataUtils.kt:57) at org.jetbrains.kotlin.utils.JsLibraryUtils.traverseArchive(JsLibraryUtils.kt:182) at org.jetbrains.kotlin.utils.JsLibraryUtils.traverseJsLibrary(JsLibraryUtils.kt:54) at org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils.loadMetadata(KotlinJavascriptMetadataUtils.kt:82) at org.jetbrains.kotlin.utils.KotlinJavascriptMetadataUtils.loadMetadata(KotlinJavascriptMetadataUtils.kt:90) at org.jetbrains.kotlin.js.config.JsConfig.checkLibFilesAndReportErrors(JsConfig.java:192) at org.jetbrains.kotlin.js.config.JsConfig.checkLibFilesAndReportErrors(JsConfig.java:150) at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:221) at org.jetbrains.kotlin.cli.js.K2JSCompiler.doExecute(K2JSCompiler.java:83) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:103) at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51) at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:92) at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:380) at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:96) at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:889) at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:96) at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137) at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:916) at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:888) at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:378) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:564) at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:355) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200) at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196) at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:567) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:800) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:682) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:681) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) at java.base/java.lang.Thread.run(Thread.java:844)


Ответ

Проблема найдена, это оказывается баг Kotlin/JS компайлера c версией Java 9. Достаточно даунгрейдится до версии 8 или более ранних версий и все заработает ок.
демонстрация проблемы тут https://vimeo.com/238750933

Комментариев нет:

Отправить комментарий