当前位置: 首页 > 面试题库 >

java.lang.NoClassDefFoundError:无法初始化类XXX

施冠玉
2023-03-14
问题内容
public class PropHolder {
  public static Properties prop;

  static {
    //code for loading properties from file
  }
}

// Referencing the class somewhere else:
Properties prop = PropHolder.prop;

class PropHolder是我自己的一类。该类与主类位于同一JAR文件中。因此,这不应该是因为classpath中缺少任何JAR。

当我通过查阅JAR文件时jar tf myjarfile,可以看到其中PropHolder.class列出的内容。

顺便说一句:代码在我的本地计算机上运行良好。但是当我将其与某些脚本一起部署到Linux服务器上时无法工作。所以我认为这不是代码的问题。但是出于某种原因。部署过程很难跟踪。

可能是什么问题呢?


问题答案:

我最好的选择是这里有一个问题:

static {
    //code for loading properties from file
}

可能会出现一些未捕获的异常,并传播到尝试加载该类的实际ClassLoader。我们需要一个堆栈跟踪来确认这一点。

创建PropHolder.prop静态变量时发生了这种情况。



 类似资料: