Kotlin SerializationComponentRegister与此版本的编译器不兼容

Kotlin SerializationComponentRegister与此版本的编译器不兼容,kotlin,kotlinx.serialization,Kotlin,Kotlinx.serialization,我在AS中发现了这个错误-尽管我检查了tripple以选择一个有效的版本配对(kotlin 1.2.40和Serialization 0.5.0): 错误:Kotlin:[内部错误]java.lang.IllegalStateException:提供的插件org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationComponentRegister与此版本的编译器不兼容 位于org.jetbrains.kotlin.c

我在AS中发现了这个错误-尽管我检查了tripple以选择一个有效的版本配对(kotlin 1.2.40和Serialization 0.5.0):

错误:Kotlin:[内部错误]java.lang.IllegalStateException:提供的插件org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationComponentRegister与此版本的编译器不兼容
位于org.jetbrains.kotlin.cli.jvm.compiler.kotlincorenvironment.(kotlincorenvironment.kt:186)
位于org.jetbrains.kotlin.cli.jvm.compiler.kotlincorenvironment.(kotlincorenvironment.kt:119)
位于org.jetbrains.kotlin.cli.jvm.compiler.kotlincorenvironment$Companion.createForProduction(kotlincorenvironment.kt:418)
位于org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:265)
位于org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:154)
位于org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:63)
位于org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:107)
位于org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
位于org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:96)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:399)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:98)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl$docomfile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:920)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl$docomfile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:98)
位于org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(furratils.kt:137)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:950)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl.docomfile(CompileServiceImpl.kt:919)
位于org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:397)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:498)
在sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:361)
在sun.rmi.transport.transport$1.run(transport.java:200)
在sun.rmi.transport.transport$1.run(transport.java:197)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.rmi.transport.transport.serviceCall(transport.java:196)
位于sun.rmi.transport.tcp.tcpttransport.handleMessages(tcpttransport.java:568)
位于sun.rmi.transport.tcp.tcpttransport$ConnectionHandler.run0(tcpttransport.java:826)
位于sun.rmi.transport.tcp.tcpttransport$ConnectionHandler.lambda$run$0(tcpttransport.java:683)
位于java.security.AccessController.doPrivileged(本机方法)
位于sun.rmi.transport.tcp.tcpttransport$ConnectionHandler.run(tcpttransport.java:682)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
原因:java.lang.AbstractMethodError:org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationComponentRegistrator.registerProjectComponents(Lcom/intellij/mock/MockProject;Lorg/jetbrains/kotlin/config/CompilerConfiguration;)V
位于org.jetbrains.kotlin.cli.jvm.compiler.kotlincorenvironment.(kotlincorenvironment.kt:184)
... 33多

有一个IntelliJ/Android Studio插件,专门为Kotlin序列化支持而设计,与主要Kotlin插件分离。自述文件部分:

因为序列化仍然是高度实验性的,所以它是作为“大”Kotlin IDEA插件的一个单独工件发布的。您可以从TeamCity构建页面下载额外的IDEA插件,用于处理使用序列化的项目

它提供了指向该插件最新TeamCity版本的链接,包括Kotlin 1.2.40

由于他们目前仅通过TeamCity发布此插件,因此您必须通过转到
首选项
插件
从磁盘安装插件…

对于任何使用IntelliJ而不是Android Studio的人,如果插件不能解决问题,同样的自述文件会告诉:

尝试使用gradle运行构建:
设置
-
构建、执行、部署
-
构建工具
-
gradle
-
运行程序
-勾选
将IDE构建/运行操作委托给gradle
;或者从控制台启动构建


Github上有一条关于此错误消息的消息,可能也值得关注。

在idea中检查已安装的Kotlin插件(工具>Kotlin>配置Kotlin插件更新)。必须与build.gradle文件中的相同。

我很确定这就是引发异常的插件。至少对我来说是这样。
Error:Kotlin: [Internal Error] java.lang.IllegalStateException: The provided plugin org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationComponentRegistrar is not compatible with this version of compiler
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:186)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:119)
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment$Companion.createForProduction(KotlinCoreEnvironment.kt:418)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.createCoreEnvironment(K2JVMCompiler.kt:265)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:154)
    at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:63)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:107)
    at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.java:51)
    at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:96)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:399)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$$inlined$ifAlive$lambda$1.invoke(CompileServiceImpl.kt:98)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:920)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$$inlined$ifAlive$lambda$2.invoke(CompileServiceImpl.kt:98)
    at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:950)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:919)
    at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:397)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:361)
    at sun.rmi.transport.Transport$1.run(Transport.java:200)
    at sun.rmi.transport.Transport$1.run(Transport.java:197)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
    at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
    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.AbstractMethodError: org.jetbrains.kotlinx.serialization.compiler.extensions.SerializationComponentRegistrar.registerProjectComponents(Lcom/intellij/mock/MockProject;Lorg/jetbrains/kotlin/config/CompilerConfiguration;)V
    at org.jetbrains.kotlin.cli.jvm.compiler.KotlinCoreEnvironment.<init>(KotlinCoreEnvironment.kt:184)
    ... 33 more