2016-09-07 9 views
3

は私がCodename OneのデフォルトのJavaライブラリは、現在のJava 8で知っていると私はまた、私は、Java 8(​​)に追加された新しいjava.time APIを使用しようとしていますのJava 8およびJava時間

のJava 8でローカルにコンパイルしています。コンパイル時に次のようなエラーが発生します。

: error: package java.time does not exist

java.nextのクラスは、Codename OneのJava 8ポートに含まれていませんか?代わりに古いJava日付を使用するべきですか?私は何かが不足しているかどうかはわかりません。

+0

。それを無効にする必要があります。 –

+0

'ローカルでコンパイルする' - コマンドプロンプトやIDEから 'javac'を使って? – VinayVeluri

+0

私はコードネーム1に慣れていません。しかし、java.timeフレームワークはJava 8 Standard Editionの一部であると言えます。したがって、Java SEのすべての実装には、これらのクラスを含める必要があります。 [Oracleの実装](http://www.oracle.com/technetwork/java/javase/downloads/index.html)と[OpenJDKの実装](http://openjdk.java.net)には確かにあります。 –

答えて

4

コードネーム1には、Java 1.8クラスのサブセットが含まれています。私はJava Timeクラスが含まれているとは思わないが、CN1には以前のJavaバージョンのサブセットである独自のクラスがある(おそらく1.5、私は思い出さない)。

すべてCN1クラスのJavadocはここにある:おそらくあなたは下のJDKのバージョンのために働くために、「互換モード」を持っているIDEを使用しているhttps://www.codenameone.com/javadoc/index.html

0

クイックチェックjavadocが表示されます。はい、java8には、パッケージjava.timeが含まれています。

このように、設定でエラーが発生する可能性があります。は、設定に何らかの設定が間違っている可能性があります。

典型的なものはeclipseで発生します: "コンパイラの互換性"レベルを1.8に設定しましたが、プロジェクトのビルドパスの設定ではではなく、は1.8 JREを指しますが、 。

したがって、答えは:setupでJDK/JREによるチェックが使用され、使用可能なライブラリが特定されます。したがって、Java8構文のコンパイラー・エラーが表示されなくても...間違ったJRE/JDKライブラリーを指し示すときには、まだ動作しません。

関連する問題