52

Eclipse で次のエラーが表示されます。

'<>' operator is not allowed for source level below 1.7 

これは、Java 1.7 を使用していないためだと思います。それを除いて。少なくとも openjdk 1.7 (私の OS は OpenSuse 12.3)。

ケプラーからジュノに切り替えて、ラグを減らし、このバグも理解しようとしましたが、これまでのところ役に立ちませんでした。

私が試したいくつかのこと: - Eclipseのデフォルトのランタイムはopensdk 1.7です(ヘルプ、インストールの詳細でそう言っています) - プロジェクトのプロパティ、Javaビルド - >ライブラリ。opensdk の場所を手動で追加しました。

Oracle バージョンをインストールしますが、opensuse リポジトリから入手できるのは 1.6 だけです。私はすでにオラクルが提供するrpmをインストールしようとしましたが、それは自分のパスに入らず、すべてを台無しにしてしまったので、もう一度削除しました。

それはopenjdkでも動作するはずですよね?それともバグがあると思いますか?

ps: junit も認識されなかったので、手動で jar ファイルにリンクしました。おそらくこれは関連情報です。

4

8 に答える 8

94

プロジェクトの設定で、コンパイラ--sourceオプションを に設定し1.7--targetオプション1.7も に設定する必要があります。そのための専用オプションボックスがあります。

プロジェクトを右クリックします。[プロパティ] を選択します。左側でJava コンパイラを選択します。コンパイラ準拠レベルを選択1.7します。その下の 2 つのドロップダウンが でない場合は、 [デフォルトのコンプライアンス設定を使用する] のチェックを外し、それらを に設定します。1.71.7

于 2013-10-15T13:31:28.073 に答える
6

以下のバージョンを使用する場合は、

Map<String, Integer> map = new HashMap<String, Integer>();

それ以外の

HashMap<String, Integer> map = new HashMap<>();
于 2014-07-28T04:48:17.167 に答える
3

プロジェクトを右クリック - プロパティ - Java コンパイラ - コンパイラ準拠 - レベル 1.7 を設定

于 2015-09-24T02:23:32.963 に答える
0

に固執したい場合はjava 1.6、検索して <> を空の文字列に置き換えます。コンパイラの警告が表示されますが、エラーは消えるはずです。

于 2014-08-04T22:13:16.237 に答える
0

ウィンドウ -> 設定 -> Java -> コンパイラ

1.7 を選択して OK をクリックします。

自動的にビルドしている場合は、完全な再ビルドが必要になります。

于 2015-02-06T14:00:14.460 に答える