私は emacs を使用して Java を記述し、Mac のターミナルを介してコンパイルおよび実行します。次のエラー メッセージが表示されます。
Exception in thread "main" java.lang.NoClassDefFoundError: xxx
at Testprogram2.<init>(Task.java:86)
at Task.main(Task.java:12)
Caused by: java.lang.ClassNotFoundException: xxx
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
... 2 more
xxx クラスの名前も変更しましたが、それでもこのクラスは作成されません。他にも約 20 個のクラスが作成されていますが、このクラスは作成されていません。これを解決するには?
編集:
クラスは次のように定義されます (特別なことはありません)。
class xxx extends superXXX{
xxx(String number, double price){
super(number,price);
}
//other methods here
}
class superXXX implements onlyXXX{
String number;
double price;
double result;
superXXX(String number, double price){
this.number = number;
this.price = price;
double p = calculatePrice();
result = p;
}
//other methods here
}
最初に「java Task.java」と書きます。次に、ターミナルに「javac Task」と書き込んだ後、xxx のオブジェクトを作成する行に遭遇すると、次のエラー メッセージが表示されます。
xxx pb1 = new xxx("Reg1", 5000.0);