java.lang.NoClassDefFoundError: java⼀net⼀URL 这个怎么解决呀??大侠们帮帮忙,谢谢!!!!!!!!!

2024-12-30 04:47:33
推荐回答(3个)
回答1:

NoClassDefFoundError 多数情况下是在类的构造函数或 static { } 代码块中抛出了异常。导致第一次尝试 define 一个类时出错了。

第一次加载一个类时,它会先 find,找到了之后再 define,如果是 find 失败得到的是 ClassNotFoundException,而找到之后 define 失败就是 NoClassDefFoundError.

比如下面这个情况就会导致,第一次跑 me = new MyClass(); 时会出错,当另外一个类第二次来 MyClass.getInstance() 时会出现 NoClassDefFoundError。

所以你要做的是从日志中(或debug) 来找出在出现 NoClassDefFoundError 之前出现过什么 Exception/Error,另外,有没有在命令行加参数来启用 JDK 6 的 Instrument (比如,把一个 jar 加密后用 Instrument 来解密再加载)。

public class MyClass {
private static final MyClass me = new MyClass();
public static MyClass getInstnace() { return me; }

private MyClass() {
if (true) throw new RuntimeException("I need holiday");
}
}

回答2:

import java.net.URL;

回答3:

类没有找到,是不是有包没导