ホームページ >Java >&#&チュートリアル >JDK 10 への移行後に Eclipse が XML クラスをロードできないのはなぜですか?

JDK 10 への移行後に Eclipse が XML クラスをロードできないのはなぜですか?

DDD
DDDオリジナル
2024-11-30 12:42:12380ブラウズ

Why Can't Eclipse Load XML Classes After JDK 10 Migration?

JDK 10 に切り替えた後、Eclipse が XML クラスのロードに失敗する

Maven プロジェクトを JDK 10 に移行するときに、Eclipse 開発者は問題が発生する可能性がありますXML 関連のクラスはコンパイル中にアクセスできなくなります。このエラーは Eclipse ビルド環境内でのみ発生しますが、Maven ビルドと個々のクラスの参照には影響しません。

原因:

この問題の原因は、名前のないモジュールにあります。 module-info.java が欠落しているプロジェクトで利用されます。これは、コードが名前なしモジュール内でコンパイルされ、java.xml などの監視可能な名前付きモジュールと名前なしモジュールを読み取ることを意味します。ただし、クラスパスには xml-apis.java も含まれており、同じ名前の競合するパッケージの原因となります。

解決策:

この問題を解決するには、次の 2 つのオプションを使用できます。

1. module-info.java ファイルを作成します:

module-info.java ファイルをプロジェクトに追加し、必要なモジュールを指定します:

requires ...*;

... と置き換えます。 java.xml または xml.apis.

2. Eclipse で監視可能なモジュールを制限する:

Eclipse で、[Java Build Path] > [Java Build Path] に移動します。ライブラリ >クラスパスを選択し、「モジュールの詳細」ダイアログを開きます。 java.xml を「明示的に含まれるモジュール」から「利用可能なモジュール」セクションに移動して、監視可能なモジュールのセットから除外します。プロジェクトに不可欠なモジュールは選択して追加し直すことができます。

追加情報:

  • Eclipse では、より正確なエラー メッセージが表示されるようになりました。「パッケージ javax. xml.xpath は複数のモジュールからアクセスできます。
  • JRE の順序を切り替えた場合のコンパイラの動作クラスパス上の JAR ファイルは謎のままです。

以上がJDK 10 への移行後に Eclipse が XML クラスをロードできないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。