当我运行 test.class 时,我收到以下错误:
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 文件(Temp 是我编写的库文件,位于 ml 包下)。Temp 有一个构造函数,它接受这三个参数和一个公共的 someFunction。
不确定这是否有帮助,但我在编译期间包含了 jar 文件的类路径。当我在 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.
编辑:
如果有帮助,我编译如下(ml.jar 和 test.java 在同一目录中)
javac -cp ml.jar test.java