web-dev-qa-db-ja.com

Eclipseのopenjdk 1.7:1.7未満のソースレベルでは演算子を使用できません

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 build-> library。私は手動で追加しました。 opensdkの場所。

Oracleバージョンをインストールしますが、opensuseリポジトリからは1.6しか使用できません。私はすでにOracleが提供するrpmをインストールしようとしましたが、それは自分の道に進まず、すべてを台無しにしました。そのため、再び削除しました。

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

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

47
dorien

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

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

84
Eric Jablow

エラーを右クリックして、クイックフィックスを選択し、JREを1.7に変更を選択します

28
ang

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

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

の代わりに

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

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

3

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

1.7を選択してOKを押します。

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

0
Pete B.

私は同じ問題を抱えていましたが、-コンパイラー準拠レベル-生成された.classファイルの互換性-ソースの互換性はすべて既に1.7に設定されています。 3つすべてで1.7を選択し直した後、Eclipseがそれを検出し、プロジェクトの再構築とビルドを正常に要求しました。

0
Eduard

プロジェクトを右クリックします。プロパティを選択します。左側のJavaCompiler。CompilerCompliance levelで1.7を選択します。以下の2つのドロップダウンが1.7でない場合は、[デフォルトのコンプライアンス設定を使用]をオフにして1.7に設定します。

0

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

0
David B.