我浏览了许多类似问题的答案。但是无法缩小到解决方案。
以下是代码:(简化名称以提高可读性)
头等舱:
package p1;
public class C1 {
public static void test() {
System.out.println("Boom!");
}
}
第二类:
package p2;
import p1;
public class C2 {
public static void main(String[] params) {
C1.test();
}
}
Clean-Build不会给出任何错误。(无编译错误)
但是在运行时,我得到以下错误:
Exception in thread "main" java.lang.NoSuchMethodError: C1.test()V
at C2.main(C2.java:6)
Java Result: 1
PS我正在使用Netbeans。
这意味着您正在使用类路径中C2
旧版本的类C1
(尚未使用该test()
方法的版本)来运行您的类。
确保您没有C1.class
某个地方的旧版本。删除所有*.class
文件并重新编译所有内容,然后尝试再次运行它。
另外:正如Kevin Bowersox在评论中指出的那样,您的main
方法必须如下所示:
public static void main(String[] args)
它必须以aString[]
作为参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句