私はtest.classを実行すると、私は次のエラーを取得する:NoSuchMethodErrorとNoClassDefFoundErrorの原因は何ですか?
Exception in thread "main" java.lang.NoSuchMethodError: ml.Temp.<init>(Ljava/lang/String;II)V
at test.main(test.java:11)
そして、ここではtest.java
import java.io.*;
import ml.*;
class test
{
public static void main(String[] args) throws FileNotFoundException, IOException
{
String filename = "input";
Temp id = new Temp(filename, 6, 100);
id.someFunction();
}
}
のコードは基本的に私はTemp.classを含むjarファイルを持っている(温度がされています私が書き、mlパッケージの下にあるライブラリファイル)。 Tempには、これら3つの引数とpublic someFunctionをとるコンストラクタがあります。
コンパイル中にjarファイルのクラスパスを追加しましたが、これが役立つかどうかはわかりません。
次のように、それは私がコンパイルできます場合は(ml.jarとtest.javaはしている:私はtest.classの実行中にjarファイルのクラスパスを含む場合、私は、次の
Exception in thread "main" java.lang.NoClassDefFoundError: test
Caused by: java.lang.ClassNotFoundException: test
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: test. Program will exit.
EDITを取得します同じディレクトリ)
javac -cp ml.jar test.java
これはどのように構築/実行していますか? –
最初のエラーの場合、私はちょうどJavaテストを行いました。 java -cp "ml.jar"テストを実行すると2番目のエラーが発生します – Hari