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ファイルに手動でリンクしました。おそらくこれは関連情報です。
プロジェクトの設定で、コンパイラーの--source
オプションを1.7
に設定し、--target
オプションを1.7
に設定する必要があります。そのための専用オプションボックスがあります。
プロジェクトを右クリックします。 Propertiesを選択します。左側でJava Compilerを選択します。 コンパイラー準拠レベルに1.7
を選択します。その下の2つのドロップダウンが1.7
でない場合は、デフォルトのコンプライアンス設定を使用のチェックを外し、1.7
に設定します。
エラーを右クリックして、クイックフィックスを選択し、JREを1.7に変更を選択します
以下のバージョンを使用する場合は、
Map<String, Integer> map = new HashMap<String, Integer>();
の代わりに
HashMap<String, Integer> map = new HashMap<>();
プロジェクトを右クリック-プロパティ-Javaコンパイラ-コンパイラ準拠-レベル1.7を設定
ウィンドウ->設定-> Java->コンパイラ
1.7を選択してOKを押します。
自動的にビルドする場合、完全な再ビルドが必要になります。
私は同じ問題を抱えていましたが、-コンパイラー準拠レベル-生成された.classファイルの互換性-ソースの互換性はすべて既に1.7に設定されています。 3つすべてで1.7を選択し直した後、Eclipseがそれを検出し、プロジェクトの再構築とビルドを正常に要求しました。
プロジェクトを右クリックします。プロパティを選択します。左側のJavaCompiler。CompilerCompliance levelで1.7を選択します。以下の2つのドロップダウンが1.7でない場合は、[デフォルトのコンプライアンス設定を使用]をオフにして1.7に設定します。
Java 1.6
に固執したい場合は、検索して<>を空の文字列に置き換えます。コンパイラの警告が表示されますが、エラーは消えます。