この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:4
ページ更新者:atom
更新日時:2026-05-16 17:19:22

タイトル: パッケージ~は存在しません

エラー内容

エラー: パッケージ xxx.yyy は存在しません
error: package xxx.yyy does not exist

発生条件

  • Java のコンパイル (javac) 時、または Eclipse などの IDE 内ビルド時に発生
  • import xxx.yyy.SomeClass; でインポートしているパッケージが クラスパス上に見つからない状態
  • Maven / Gradle ビルドでは依存解決に失敗したケースで頻発

主な原因

原因解説
ビルドパス (クラスパス) 未設定外部jar や同梱ライブラリが参照に含まれていない
jar ファイル自体が無いlib/ や Maven Local リポジトリに該当 jar が存在しない
パッケージ名のタイプミスimport org.apache.commn.lang.* など (commons の綴り違い等)
JDKバージョン違い新しい API を古い JDK で参照 (例: java.nio.file.Files を Java 6 で利用)
Mavenの依存記述漏れpom.xml に該当 <dependency> が無い
scope が test / provided本番ビルド時には参照できない
モジュールシステム (JPMS) 未エクスポートJava 9+ で module-info.javarequires が抜けている
Eclipse の Java Build Path 破損プロジェクト→プロパティから再構成が必要

対処手順

1. パッケージ名のタイプミスを疑う

まずインポート文の綴りを確認します。org.apache.commons.lang3 など、ハイフンや末尾の数字が正確かをチェック。

2. 該当ライブラリの jar / 依存の有無を確認

  • Maven: mvn dependency:tree でツリーを表示し、該当パッケージが含まれているか確認
  • Gradle: ./gradlew dependencies で確認
  • Eclipse: プロジェクト→プロパティ→Javaのビルド・パス→ライブラリーで該当 jar の有無を確認
  • 素の javac: javac -cp lib/*.jar Foo.java のように -cp 指定

3. ビルドパス / 依存を追加

ビルド方法追加方法
Mavenpom.xml<dependencies> に該当を追加し mvn clean install
Gradlebuild.gradledependencies { implementation '...' } に追加
Eclipse 直接プロジェクト→プロパティ→Javaのビルド・パス→ライブラリー→外部 JAR の追加
素の javac-cp "lib/*" でクラスパスを通す

4. クリーン&リビルド

  • Maven: mvn clean compile
  • Gradle: ./gradlew clean build
  • Eclipse: プロジェクト→クリーン → 全リビルド

5. JDKバージョンの整合性確認

  • Maven の maven-compiler-pluginsource / target 指定
  • Eclipse: プロジェクト→プロパティ→Java コンパイラーの準拠レベル
  • OS 環境変数 JAVA_HOMEPATH が想定したバージョンを指しているか

例: Maven で commons-lang3 が見つからない場合

<dependency>
  <groupId>org.apache.commons</groupId>
  <artifactId>commons-lang3</artifactId>
  <version>3.14.0</version>
</dependency>

調査のヒント

  • エラーログに表示されるパッケージ名でクラスを Maven Central (search.maven.org) 等で検索すると、所属 jar が特定できる
  • CI で出る場合はローカルでは通っているかを比較 (環境差を切り分け)
  • javac -verbose でどのクラスパスが使われているか確認可能

関連