Coverity 工具抛出:在空对象 java.lang.ClassLoader.getSystemClassLoader() 上调用方法
Coverity Tool throws : Calling a method on null object java.lang.ClassLoader.getSystemClassLoader()
我们的遗留项目正在使用 ClassLoader.getSystemClassLoader().getResource("some resource")
找出一些 URL。
现在 coverity 在 ClassLoader.getSystemClassLoader() 上抛出错误,说它可以为空。
现在,在查看 getSystemClassLoader() 的代码时,它看起来在某些情况下可以为空。当它可以为 null 时,理解原因变得非常复杂。
我的问题是,如果应用程序已成功启动并启动并且 运行,ClassLoader.getSystemClassLoader() 是否仍有可能为空。因为这个方法似乎是用来启动 java 应用程序的。
有人可以简单地定义一下这种方法的用法吗?我无法完全理解 java 文档。
要从系统类加载器获取资源,请使用 getSystemResource(String name)
。
所以修改代码如下:
// Before
ClassLoader.getSystemClassLoader().getResource("some resource")
// After
ClassLoader.getSystemResource("some resource")
我们的遗留项目正在使用 ClassLoader.getSystemClassLoader().getResource("some resource")
找出一些 URL。
现在 coverity 在 ClassLoader.getSystemClassLoader() 上抛出错误,说它可以为空。
现在,在查看 getSystemClassLoader() 的代码时,它看起来在某些情况下可以为空。当它可以为 null 时,理解原因变得非常复杂。
我的问题是,如果应用程序已成功启动并启动并且 运行,ClassLoader.getSystemClassLoader() 是否仍有可能为空。因为这个方法似乎是用来启动 java 应用程序的。
有人可以简单地定义一下这种方法的用法吗?我无法完全理解 java 文档。
要从系统类加载器获取资源,请使用 getSystemResource(String name)
。
所以修改代码如下:
// Before
ClassLoader.getSystemClassLoader().getResource("some resource")
// After
ClassLoader.getSystemResource("some resource")