我的代码在开发计算机上正确运行,但在生产环境中安装时抛出 NullPointerException。抛出异常的行如下:
MyClass.class.getClassLoader().getResource("").getPath();
因此,我将其分成多行代码,以准确查看哪个调用返回 null,如下所示:
ClassLoader cl = MyClass.class.getClassLoader();
URL url = cl.getResource("");
String path = url.getPath();
现在 url.getPath() 调用抛出 NullPointerException,这意味着 cl.getResource("") 返回 null。
谁能告诉我这个调用如何返回 null?
最佳答案
对于不同的ClassLoader
实现,getResource
的实现是不同的。
虽然这可能在您的本地计算机上可靠地工作,但不能保证在其他类加载器实现上成功。
因此,预计其他类加载器的行为会有所不同(特别是如果您在应用程序服务器、WebStart 启动器或任何具有某些安全限制的环境中执行该代码)。
关于java - MyClass.class.getClassLoader().getResource ("").getPath() 抛出 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19314531/