4

以前に Ceylon コンパイラ バージョン 1.1 で正常にコンパイルしたソースを Ceylon コンパイラ バージョン 1.2 でコンパイルしようとすると、次のエラー メッセージが表示されます。

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、2 番目は 1.2) で Java バージョン 8 を使用しましたが、それを 7 に戻したくありません。

Ceylon SDK を Java バージョン 8 でコンパイルすると役に立ちますか? Ceylon ディストリビューション全体とは別にそれを行うにはどうすればよいですか?

Ceylon SDK のソースをプロジェクトにインポートして、プロジェクトと一緒にコンパイルするにはどうすればよいですか?

4

2 に答える 2

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";です。

于 2015-10-29T19:21:31.963 に答える
4

いいえ、それは実際には Ceylon のバイナリ バージョンであり、Java とは無関係です。Ceylon 1.1 はバイナリ バージョン 7 で、Ceylon 1.2 はバイナリ バージョン 8 です。残念ながら、これらのリリース間でバイナリ互換性を提供することはできませんでした。

1.2.0Ceylon 1.2 で SDK モジュールを使用する必要があります。

于 2015-10-29T19:21:16.987 に答える