1. ホーム

コンパイル時の型エラーでメソッドが未定義になる

2022-02-17 05:49:36

問題の説明:

このプロジェクトでは

1.jdk1.8

2. mavenは、多くのサードパーティのjarパッケージの依存関係を導入することに成功しており、xml-apis.jarファイルは、2002 org.w3c.dom jarファイル(jarファイルのNodeインターフェースはgetTextContent()を持っていない)が付属しています。

Node (jdk の rt.jar に含まれるネイティブ API) が、The method dosonme() is undefined for the type というエラーを報告しました。

調べてみると、項目1の値はサードパーティーのjarにあるNode.classを指していることがわかりました

問題は、サードパーティーの jar ファイルが他の jar との依存関係にあり、削除できないことです。また、アップグレードの方法が分からないので、java ファイルが jdk のネイティブ Node.class を参照するようにするにはどうしたらよいでしょうか。

解決策

まとめ:コンパイル時に指定したjarファイルから参照されないクラスがあった場合、jarパッケージが重複していないか確認して適切に削除するか、削除する方法がない場合はプロジェクトの依存関係の順序を調整する必要があります。