LoginSignup
16
17

More than 5 years have passed since last update.

実行時にNoClassDefFoundErrorやCould not find or load main classがでる場合の対処法

Posted at

すべてpackage宣言をした場合のみ

1. javaのクラスファイルはpackageの階層と同じディレクトリ構成にしなければならない。

Test.class
package testpackage;

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

上記の場合は
/testpackage/HelloWorld.class
というディレクトリ構成にしなければならない。

2. packageの場合はpackage名を先頭に付けなければならない。

java testpackage.Helloworld

3. javaを実行する際のクラスパスにpackageを含めてはならない。

例えば/home/testpackage/HelloWorld.classを実行したい場合、
java -classpath /home/testpackage testpackage.Helloworld
ではエラーになる。
以下のようにする。
java -classpath /home testpackage.Helloworld

16
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
17