我尝试使用 Ceylon 编译器 1.2 版编译源代码,我之前使用 Ceylon 编译器 1.1 版成功编译了该源代码,但收到以下错误消息:

source/com/example/helloworld/module.ceylon:2: error: version '1.1.0' of module 'ceylon.net' was compiled by an incompatible version of the compiler (binary version 7.0 of module is not compatible with binary version 8.0 of this compiler)
    import ceylon.net "1.1.0" ;
    ^
source/com/example/helloworld/module.ceylon:2: error: version '1.1.0' of module 'ceylon.collection' was compiled by an incompatible version of the compiler (binary version 7.0 of module is not compatible with binary version 8.0 of this compiler)
    import ceylon.net "1.1.0" ;
    ^
source/com/example/helloworld/module.ceylon:2: error: version '1.1.0' of module 'ceylon.io' was compiled by an incompatible version of the compiler (binary version 7.0 of module is not compatible with binary version 8.0 of this compiler)
    import ceylon.net "1.1.0" ;
    ^
source/com/example/helloworld/module.ceylon:2: error: version '1.1.0' of module 'ceylon.file' was compiled by an incompatible version of the compiler (binary version 7.0 of module is not compatible with binary version 8.0 of this compiler)
    import ceylon.net "1.1.0" ;

我想错误消息中的“... binary version 8.0 ...”是指Java版本。

在两次编译尝试中(第一次使用 Ceylon 1.1,第二次使用 1.2),我使用了 Java 版本 8,我不想将它改回 7。

使用 Java 版本 8 编译 Ceylon SDK 是否有帮助?我怎样才能从整个 Ceylon 发行版中分离出来呢?

如何将 Ceylon SDK 的源代码导入我的项目并与我的项目一起编译?

最佳答案

错误消息中的二进制版本指的是 Ceylon 二进制版本,我猜不幸的是,它恰好与当前的 JVM 版本匹配。

Ceylon 兼容 JVM 7 和 JVM 8,但 Ceylon 1.2.0 程序必须使用 Ceylon 1.2.0 模块;没有保持与 Ceylon 1.1.0 的二进制兼容性。

这里的解决方案是简单地将导入更改为 import ceylon.net "1.2.0";

关于Ceylon 1.2 二进制兼容性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33419750/

10-11 06:33