プログラミング言語
Java
JVM 上で動く静的型付けのオブジェクト指向言語。javac でバイトコードへコンパイルし、実行時は各 OS の JVM が解釈する。
問題一覧(5)
Java で「Could not find or load main class」が解決できない
java コマンドに渡すのはファイル名ではなく完全修飾クラス名で、.class が置かれたルートディレクトリを -cp で指す必要がある。拡張子付きの指定とパッケージ名の省略が二大原因である。
更新: 2026-09-15、実行例あり、タグ: classpath、main-class、jvm
Java で「JAVA_HOME is not set」が出てビルドできない
Maven や Gradle が JAVA_HOME を要求するのは、コンパイルに JRE ではなく JDK が必要だからである。JDK の場所を調べて JAVA_HOME に設定し、シェルの設定ファイルへ書いて永続化すれば解決する。
更新: 2026-08-24、タグ: jdk、java-home、maven
Java で「OutOfMemoryError: Java heap space」が解消できない
ヒープに空きを作れずアロケーションが失敗した状態。-Xmx を上げれば通ることもあるが、参照が残り続けているだけの場合は上げても再発する。まずヒープダンプで何が残っているかを見て、設定不足かリークかを切り分ける。
更新: 2026-09-14、実行例あり、タグ: outofmemoryerror、heap、jvm
Java の javac で「package does not exist」が解決できない
package ... does not exist はコンパイル時にクラスパス上でそのパッケージが見つからないという意味である。依存 jar を -cp に渡すか、-sourcepath と -d を整えて自作パッケージを一緒にコンパイルすれば解決する。
更新: 2026-09-11、実行例あり、タグ: javac、classpath、package
Java で「UnsupportedClassVersionError(class file version)」が解決できない
実行側の JVM がクラスファイルより古いと出る。エラー文の数値はクラスファイル形式のメジャーバージョンで、Java 8 が 52、11 が 55、17 が 61、21 が 65 に対応する。JVM を上げるか --release を下げて解決する。
更新: 2026-08-04、タグ: jvm、class-file-version、jdk
サンプルコード
エラーの解決ではなく「○○するには」の基本形を探しているときは、Java のサンプルコード一覧(41件)を参照するとよい。