Javaで package が import できない
ときは、主に次のような原因が考えられます。それぞれの対処方法を丁寧に解説します。
Contents
✅ よくある原因とその対処法
✅ 1. クラスパス(classpath)が通っていない
🔍 原因:
import com.example.util.MyUtil;
と書いても、そのクラスが クラスパスに含まれていない と、コンパイル・実行時に見つかりません。
💡 解決方法:
-
コンパイル時に
-cp
(または-classpath
)で明示的にパスを指定します。
-
.jar
ファイルを使う場合:
✅ 2. ディレクトリ構造と package
宣言が一致していない
🔍 原因:
ファイルの場所と package
宣言が矛盾していると、import
に失敗します。
✅ 正しい構成例:
💡 ルール:package
の階層とディレクトリ構成が一致している必要があります。
✅ 3. タイポ(スペルミス)や大文字小文字のミス
-
Javaは 大文字・小文字を区別します。
-
import com.example.Util;
とimport com.example.util;
は別物。
🛠️ クラス名・パッケージ名はよく確認しましょう。
✅ 4. モジュール化(Java 9以降)による制限
🔍 原因:
Java 9以降の モジュールシステム(module-info.java) を使っている場合、他モジュールのパッケージが exports
されていないと import
できません。
💡 解決:
-
モジュールに
exports com.example.util;
を追加 -
requires モジュール名;
を利用側に追加
✅ 5. IDE(Eclipse/IntelliJ)側の問題
💡 解決方法:
-
ビルドパスが正しく設定されているか確認
-
プロジェクトの再ビルド(Eclipseでは
Project > Clean
) -
ライブラリの参照先が正しいかチェック(右クリック > Build Path > Configure)
✅ トラブルシューティングまとめ
症状 | チェックポイント |
---|---|
package does not exist |
クラスパス、ディレクトリ構成、スペル |
cannot find symbol |
import先のクラスが存在するか |
クラスはあるのに認識されない | javac での -cp 指定、IDEのビルドパス |
module not found |
Java 9以降なら module-info.java を確認 |

Javaの記事の一覧はJava にまとめてあります