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

lig*_*igi 5 intellij-idea kotlin

在 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 
Run Code Online (Sandbox Code Playgroud)

该项目在命令行上运行 - 我使缓存无效并重新启动了 Idea - 没有任何帮助。任何人都遇到了同样的问题并找到了让它工作的方法?

mie*_*sol 5

问题似乎是项目中使用的 kotlin 库不匹配以及插件版本不兼容。

检查 Kotlin 插件版本,您很可能会看到类似以下内容的内容:

版本:1.0.0-rc-1007-IJ143-11

META-INF/build.txt然后通过查看或检查 Kotlin 库的版本,META-INF/MANIFEST.MF它很可能是其他版本,例如1.0.0-beta-4589.

要解决该问题,请将 Kotlin 库更新到1.0.0-rc-1007可以在此 Maven 存储库中找到的版本: https: //dl.bintray.com/kotlin/kotlin-eap

Kotlin 编译器将每个标记标记.class@kotlin.Metadata

使用此注释注释的类文件的字节码接口(命名约定、签名)的版本。

这就是编译器检测不兼容性的方式。

  • 要将插件更新到更高版本的 EAP,需要将“工具”->“Kotlin”->“配置 Kotlin 插件更新”设置为“EAP 版本”,否则您将停留在已安装的版本上,直到下一个公开版本为止。Intellij IDEA 16 EAP 似乎已经更新为静默包含 Kotlin EAP。 (2认同)