锡兰1.2二元兼容性

时间:2015-10-29 16:29:33

标签: ceylon

我尝试使用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" ;

我认为错误消息中的“...二进制版本8.0 ...”是指Java版本。

在两次尝试编译时(首先使用Ceylon 1.1,第二次使用1.2)我使用Java版本8,我不想将其更改回7。

使用Java版本8编译Ceylon SDK是否有帮助?我怎样才能与整个锡兰分销分开?

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

2 个答案:

答案 0 :(得分:6)

错误消息中的二进制版本引用了 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";

答案 1 :(得分:4)

不,这实际上是Ceylon的二进制版本,与Java无关。 Ceylon 1.1是二进制版本7,Ceylon 1.2是二进制版本8.不幸的是,我们无法在这些版本之间提供二进制兼容性。

您必须使用Ceylon 1.2的1.2.0 SDK模块。