其元数据的二进制版本为1.0.1,期望版本为1.1.0。

5
在Intellij Idea 16 EAP 144.3357.4版本中,我有一个纯Kotlin cmd项目,目前无法运行,会出现以下错误:

The binary version of its metadata is 1.0.1, expected version is 1.1.0 

这个项目是在命令行上运行的 - 我尝试了无效缓存并重新启动Idea - 但没有任何帮助。是否有人遇到过相同的问题并找到了解决方法?


你是通过什么过程使缓存无效的?我很感兴趣!我从未尝试过这样做,听起来很神秘。[ctrl-shift-A "invalidate"]等于心灵炸裂!!! - activedecay
这是一个想法中的行动 - 经常有助于解决问题 - 但不是这个;-) - ligi
1个回答

4
问题似乎是您项目中使用的kotlin库与插件版本不兼容。请检查Kotlin插件版本,您很可能会看到类似以下内容的信息:

Version: 1.0.0-rc-1007-IJ143-11

然后通过查看META-INF/build.txtMETA-INF/MANIFEST.MF文件来检查Kotlin库的版本,您很可能会看到其他版本,例如1.0.0-beta-4589
要解决此问题,请更新Kotlin库的版本为1.0.0-rc-1007,该版本可在此Maven存储库中找到:https://dl.bintray.com/kotlin/kotlin-eap
Kotlin编译器使用@kotlin.Metadata为每个.class文件打上标记,以指示其中包含的字节码接口版本(命名约定、签名)等信息。
这就是编译器检测到不兼容性的方式。

非常准确!只是提醒@ligi,1025是最新的EAP Kotlin版本。 - Jire
2
要将插件更新到较新的 EAP 版本,需要将“工具”->“Kotlin”->“配置 Kotlin 插件更新”设置为 EAP 发布版本,否则您将被困在已安装的版本中,直到下一个公共发布版本。Intellij IDEA 16 EAP 似乎已经悄悄地更新了包含 Kotlin EAP 的内容。 - Jayson Minard
如果我们想要降级kotlin版本,这对于Android Studio升级问题非常有用... - Ibrahim.H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接