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 tf myjarfile查看JAR文件时,我可以看到那里列出的PropHolder.class

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

可能是什么问题呢?

最佳答案

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

static {
    //code for loading properties from file
}

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

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

10-05 22:15