我们的旧项目正在使用ClassLoader.getSystemClassLoader().getResource("some resource")
来查找一些URL。
现在Coverity在ClassLoader.getSystemClassLoader()上抛出错误,说它可以为null。
现在,在查看getSystemClassLoader()的代码后,在某些情况下,它看起来可能为null。而且了解它可以为null的原因变得越来越复杂。
我的问题是,如果应用程序已成功启动并且已启动并正在运行,那么仍有可能ClassLoader.getSystemClassLoader()可以为null。 Bcoz这种方法似乎是用来启动Java应用程序的。
可以有人简单地定义使用此方法。我无法完全理解Java文档。
答案 0 :(得分:1)
要从系统类加载器中获取资源,请使用getSystemResource(String name)
。
因此,请如下更改代码:
// Before
ClassLoader.getSystemClassLoader().getResource("some resource")
// After
ClassLoader.getSystemResource("some resource")