不带静态初始值设定项的java.lang.ExceptionInInitializeError

不带静态初始值设定项的java.lang.ExceptionInInitializeError,java,Java,我有一个java.lang.ExceptionInInitializeError,但我没有静态初始值设定项 代码: public static final File STANDARD_INDEX_File=new File(HTMLFileLoader.class.getClassLoader().getResource(“INDEX.html”).getPath());//第16行 HTMLFileLoader类为空 例外情况: 线程“main”java.lang.ExceptionInIn

我有一个java.lang.ExceptionInInitializeError,但我没有静态初始值设定项

代码:

public static final File STANDARD_INDEX_File=new File(HTMLFileLoader.class.getClassLoader().getResource(“INDEX.html”).getPath());//第16行
HTMLFileLoader
类为空

例外情况:

线程“main”java.lang.ExceptionInInitializeError中的异常 位于net.guardian.guardian.main(guardian.java:12) 原因:java.lang.NullPointerException 位于net.guardian.socket.MainSocket。(MainSocket.java:16) 位于net.guardian.socket.MainSocket。(MainSocket.java:24) ... 还有一个 这是:

public static final File STANDARD_INDEX_FILE = new File(HTMLFileLoader.class.getClassLoader().getResource("index.html").getPath()); // Line 16 
与此完全相同:

public static final File STANDARD_INDEX_FILE;

static {
  STANDARD_INDEX_FILE = new File(HTMLFileLoader.class.getClassLoader().getResource("index.html").getPath()); // Line 16 
}
如中所示,这是编译代码中的外观

因此,您有一个静态初始值设定项;例外情况发生在初始化程序块的某个地方。

这是:

与此完全相同:

public static final File STANDARD_INDEX_FILE;

static {
  STANDARD_INDEX_FILE = new File(HTMLFileLoader.class.getClassLoader().getResource("index.html").getPath()); // Line 16 
}
如中所示,这是编译代码中的外观


因此,您有一个静态初始值设定项;异常发生在初始化程序块的某个地方。

这意味着在新文件(HTMLFileLoader.class.getClassLoader().getResource(“index.html”).getPath()行中有异常。。检查它是否有效。这是一个
NullPointerException
。资源为
null
。但我不知道为什么它与
HTMLFileLoader
在同一个包中。您正在类加载器上调用getResource()。那么为什么它会出现在HTMLFileLoader的包中呢?类加载器从许多不同的包中加载许多类。如果要查看与HTMLFileLoader相同的包,请使用
HTMLFileLoader.class.getResource()
。2.资源不是文件。资源不是文件。一旦你的应用程序发布,它就存在于一个jar文件中,而不是文件系统中。使用
getResource()
,谢谢!这意味着您在新文件(HTMLFileLoader.class.getClassLoader().getResource(“index.html”).getPath())的第
行中有一个异常。检查它是否有效。这是一个
NullPointerException
。资源为
null
。但我不知道为什么它与
HTMLFileLoader
在同一个包中。您正在类加载器上调用getResource()。那么为什么它会出现在HTMLFileLoader的包中呢?类加载器从许多不同的包中加载许多类。如果要查看与HTMLFileLoader相同的包,请使用
HTMLFileLoader.class.getResource()
。2.资源不是文件。资源不是文件。一旦你的应用程序发布,它就存在于一个jar文件中,而不是文件系统中。使用
getResource()
,谢谢!