不带静态初始值设定项的java.lang.ExceptionInInitializeError
我有一个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
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()
,谢谢!