Java 1.5では、メソッドを非推奨にするには、次のようにします。
@Deprecated int foo(int bar) {
}
これをJava1.6でコンパイルすると、次のようになります。
構文エラー、注釈はソースレベルが1.5の場合にのみ使用可能です
何か案は?
Java 1.5では、メソッドを非推奨にするには、次のようにします。
@Deprecated int foo(int bar) {
}
これをJava1.6でコンパイルすると、次のようになります。
構文エラー、注釈はソースレベルが1.5の場合にのみ使用可能です
何か案は?
コンパイラに 1.6 を使用するように指示する必要があります。
javac -source 1.6
またはIDE /ビルドシステムと同等です(他の人が示唆しているように)。
1@Deprecated
つ目は、2 つ目は、実際に Java 1.6 でコンパイルしているかどうかを再確認してください。何を使っていますか?javac? エクリプス?
javac を使用している場合は、JAVA_HOME が JDK 1.4.2 ではなく JDK 6 を指すように設定されていることを確認してください。Eclipse (または任意の IDE) を使用している場合は、プロジェクトを右クリックし、プロパティ > コンパイラ レベルを検索します。
構文エラー、注釈はソース レベルが 1.5 の場合にのみ使用できます
これは典型的な IDE エラー メッセージです。コンプライアンス レベル 1.4 以前を使用するようにワークスペースまたはプロジェクトを構成しました。それが Eclipse であると仮定すると (少なくとも Eclipse エラーとして認識可能です)、ワークスペース設定でJava >コンパイラーに移動し、コンパイラー準拠レベルを 1.5 以降に設定する必要があります。これは、プロジェクトのプロパティのJava コンパイラエントリでも確認する必要があります。
これまでの回答を読んでみると、Eclipseが関与している場所で何が起こっているのかについて混乱が生じていることがわかります。
同じ構文エラーが発生し、ワークスペースのJavaコンプライアンスを確認し([ウィンドウ]>[設定]>[Java]> [コンパイラ])、コンパイラのコンプライアンスレベルが1.6であることに驚いていました。ただし、この設定ページの上部にある[プロジェクト固有の設定の構成]リンクに気づきました。リンクをクリックすると、プロジェクト自体の設定に移動します。
メインメニューからも移動できます。この場合、プロジェクト>プロパティ>Javaコンパイラ。[プロジェクト設定を有効にする]というラベルの付いたチェックボックスがあります。私の場合、これがチェックされ、設定は1.4でしたが、明示的に設定したことは覚えていません。とにかく、コンプライアンス設定をデフォルトでワークベンチの設定にするか、プロジェクト設定を1.5以上に変更することができます。
これにより、構文エラーが修正されます。
Eclipse IDE を使用している場合
1- Project Explorer でプロジェクトを選択します
2- [プロジェクト] -> [プロパティ] -> [Java コンパイラ] に移動します。
3-「プロジェクト固有の設定を有効にする」オプションを確認します
4-「コンパイラ準拠レベル」を「1.6」に設定します
注: すでに 1.6 に設定されている場合は、1.5 に変更します。
5-「適用」ボタンを押します。
IDE には問題があり、デフォルトで選択されているコンパイラ コンプライアンス レベルが反映されないことがあります。したがって、変更を有効にするには、切り替えて適用ボタンを押す必要があります。
ソースレベルが 1.5 未満に設定されていると思われます。一般的にJava 6では問題ないはずです。
どのようにコンパイルしていますか?Eclipse を使用している場合、プロジェクト/ワークスペースの設定はコンパイラ/JDK 準拠レベルの下で何と言っていますか?
javac を使用している場合は、実行します。
javac -version
実際に使用しているバージョンを確認します。
Java 1.4 (またはそれ以前) ではなく、Java 1.6 でコンパイルしていますか? どのコンパイラを使用していますか?
@Deprecated
いいえ@Deprecate
Eclipse を使用している場合は、Java コンパイラの設定が 1.6 準拠に設定されていることを確認してください。
これは、Eclipse で Java 1.6 が使用されている場合でも発生する可能性があります。プロジェクトをクリックし、右クリックします。プロパティに移動し、Java コンパイラ セクションで、最初にプロジェクト固有の有効化をチェックし、デフォルトで既に 1.6 バージョンがある場合でも手動で 1.6 バージョンを選択します。これで問題が解決しました。