質問: ### 前提・実現したいこと eclipseを用いたJavaの勉強で躓いています。 外部からライブラリ(commons-lang3-3.9.jar)を導入しようとして、 正しく読まれていないようです。 【事象詳細】 目的プロジェクトの ビルドパス構成の「ライブラリー」タブのクラスパス項目に 外部Jarの追加ボタンからライブラリを導入し、適用しました。 eclipseの入力補完機能では確かに導入したクラスが表示されますが、 クラスのコードを打つとインポート文に「The type org.apache.commons.lang3.builder.EqualsBuilder is not accessible」 入力したクラスの部分には「EqualsBuilder を解決できません」と表示され、コンパイルに失敗します。 ### 発生している問題・エラーメッセージ ``` Exception in thread "main" java.lang.Error: Unresolved compilation problems: The type org.apache.commons.lang3.builder.EqualsBuilder is not accessible EqualsBuilder を解決できません ``` ### 該当のソースコード ``` import org.apache.commons.lang3.builder.EqualsBuilder; . . . @Override public boolean equals(Object obj) { // TODO 自動生成されたメソッド・スタブ return EqualsBuilder.reflectionEquals(this, obj); } ``` ### 試したこと ・eclipseを再起動したが、変化なし ・PCを再起動したが、変化なし ・ライブラリのディレクトリを変更してみたが、変化なし。 ・外部Jarの導入をクラスパスからモジュールパスに変更してみたが、変化なし。 ・(http://tech-son.hatenablog.jp/entry/2017/11/27/200000)の対処方法をヒントに対応 → 変化なし ・(http://gitpub.hatenablog.com/entry/2015/04/20/181605)の対処方法をヒントに対応 → 変化なし ・(https://qiita.com/shuntaro_tamura/items/cefea651de7b6b5cd8b6)にしたがって リフレッシュ、クリーン、ビルドを実施 → 変化なし ・旧バージョンのeclipse(Version: Oxygen.3a Release (4.7.3a))を用いて 上記と同様の外部jarに対して上記と同様の方法で導入したところ、 コンパイルエラーなく使用できた。 → 新バージョン(Version: 2019-03 (4.11.0))のeclipseのバグの可能性? 他にも同様の事象の起こる方がいるかどうか知りたいものです。 5/20追記 使っているJREシステムライブラリーのヴァージョン(JavaSE-11)が悪さをしているかと思い JavaSE-1.8に変更してみました。 すると、エラーは起こらなくなりました。 どうやら、JavaSE-11と一緒に使うことがエラーの原因のようです。 これはシステムライブラリのバグでしょうか。 ### 補足情報(FW/ツールのバージョンなど) eclipse Version: 2019-03 (4.11.0) JavaSE-11 外部jar commons-lang3-3.9.jar
回答: 以下の状態でしたら動作できますし、特に問題は発生しませんでした。 !イメージ説明 インポートしているライブラリが破損しているわけではなさそうですので、Windowsをお使いの場合は、Eclipseの解凍場所の問題でしょうか。ドライブ直下に解凍すると安全です。