我在 A 类中有以下方法。所有 A、B、C 类和调用“A”的主类都在同一个 jar 中。
public class A {
private static void init() {
if (!init) {
synchronized (B.class) {
if (!init) {
map = C.creat();
init = true;
}
}
}
}
}
代码在块(第 4 行)处抛出Throwable
, 。由于所有类都在同一个 jar 中,这可能是什么原因,在运行时没有机会找不到类。java.lang.NoClassDefFoundError
synchronized
我已经完成了现有问题中的解决方案,但找不到解决方案。请帮忙。
B类中有静态初始化块和静态变量。
static object/class A
如果我使用 a来同步代码段而不是“B” ,则可以解决此问题。我很想知道为什么我会遇到异常以及如何仅使用 B 类来修复它。