質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

1回答

10685閲覧

【eclipse】外部jar(ライブラリ)の読み込みに失敗してしまいます。

a0077476

総合スコア12

JAR

JAR(又はJava ARchive)はコンパイルされた複数のJavaバイトコード及び関連ファイルのリソースを一つのファイルに統合したものです。JARファイルはZIPファイルのフォーマットで構築されています。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

コンパイルエラー

コンパイルのフェーズで生成されるエラーです。よく無効なシンタックスやタイプが含まれているとき発生します。

Eclipse

Eclipseは、IBM社で開発された統合開発環境のひとつです。2001年11月にオープンソース化されました。 たくさんのプラグインがあり自由に機能を追加をすることができるため、開発ツールにおける共通プラットフォームとして位置づけられています。 Eclipse自体は、Javaで実装されています。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2019/05/12 15:09

編集2022/01/12 10:55

前提・実現したいこと

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2019/05/13 00:21

エラー文そのまま検索で過去質問ですとか解決方法を紹介されている記事が結構出てきます。まずはそこで調べてみて試して「試したこと」に追記してください。
a0077476

2019/05/13 15:05

追記しました。 以前のバージョンのeclipseでは導入成功したことから、最新バージョンのeclipseのバグではないかと考えています。 他に同じ事象の方はいらっしゃるでしょうか。
m.ts10806

2019/05/22 08:22

同じ事象というわけではないですけど、組んでいるJavaのバージョンとコンパイラのバージョンが違ったらありえそうには思います。そこまで深く突っ込んだことはないですけど、よくある話のようですね。
a0077476

2019/05/22 09:06

ご回答有り難うございます。 プロジェクトのプロパティからJavaコンパイラー設定を見直し、 JavaSE-11準拠のコンパイラを使用していることを確認しました。 Javaのバージョンとコンパイラのバージョンが異なるというのは今回のケースには考えにくいかと思います。
guest

回答1

0

以下の状態でしたら動作できますし、特に問題は発生しませんでした。

イメージ説明

インポートしているライブラリが破損しているわけではなさそうですので、Windowsをお使いの場合は、Eclipseの解凍場所の問題でしょうか。ドライブ直下に解凍すると安全です。

投稿2019/05/20 03:50

A-pZ

総合スコア12011

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

a0077476

2019/05/20 16:23

ご回答有り難うございます。 C:\pleiades\eclipseというようにディレクトリ構成を変更しても 問題は解決しませんでした。 使っているJREシステムライブラリーのヴァージョン(JavaSE-11)が悪さをしているかと思い 添付していただいた画像の通りJavaSE-1.8に変更してみました。 すると、エラーは起こらなくなりました。 どうやら、JavaSE-11と一緒に使うことがエラーの原因のようです。 これはシステムライブラリのバグでしょうか。
A-pZ

2019/05/21 05:01

[Java11]のJREシステムライブラリへ変更しても特に問題は発生しませんでした。 プロジェクトのプロパティから、Javaコンパイラーを開き、Javaコンパイラーの準拠レベルが11になっていることと、生成された.classファイルの互換性などが11になっていることも確認してください。
a0077476

2019/05/21 13:27

ご回答有り難うございます。 Javaコンパイラーの準拠レベルおよびclassファイルの互換性は11であることを確認しました。 最新バージョンのeclipseを用いて、JavaSE-11を使用している場合特有の問題かもしれません。
a0077476

2019/07/08 16:24

最新バージョン(Version: 2019-06 (4.12.0))のeclipseでも 同様の事象がでてしまうことを確認しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問