LogManager の Java 8 互換性の問題: 「AnnotatedElement」解決エラーについて
Java プロジェクトを JDK 7 から JDK 8 に移行する場合、 LogManager の使用に関連する特有のエラーが発生する場合があります。具体的には、「private static Logger log = LogManager.getLogger(Class1.class);」の宣言です。クラス内で次のエラーが発生します:
The type java.lang.reflect.AnnotatedElement cannot be resolved. It is indirectly referenced from required .class files
根本的な問題
JDK 8 の紹介には、次のような新しい機能を含む Java 8 固有のクラス ファイルが付属しています。デフォルトメソッドと静的インターフェースメソッド。これらの新機能を参照する Java ソース コードを正常にコンパイルするには、IDE または独自のコンパイラ (Eclipse など) を備えたその他のコード処理ツール/フレームワークを Java 8 と互換性のあるバージョンにアップグレードする必要があります。
コンパイラの役割
コンパイラは、Java 8 に関連付けられた新しいクラス ファイルのロードと処理において重要な役割を果たします。コンパイラを更新すると、これらのクラス ファイルを正しく解釈できるようになり、それらを参照してコードをコンパイルできるようになります。
Eclipse の動作
に注意することが重要です。 Eclipse は、見つからないクラスと、読み取り中にエラーが発生したクラスを明確に区別できない可能性があります。したがって、「«classname» を解決できません」と報告する場合は、どちらかのシナリオを指している可能性があります。
問題の解決
解決策は簡単です。 IDE またはツールを Java 8 をサポートする最新バージョンに更新します。これにより、Java 8 クラス ファイルを理解し、コードを正常にコンパイルするために必要な機能がコンパイラに提供されます。
以上がJDK 8 が LogManager で「AnnotatedElement」解決エラーをスローするのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。