【发布时间】:2015-05-18 09:44:05
【问题描述】:
为什么我在使用 ClassLoader 时会得到一个 nullPointerException
ClassLoader cl = ClassLoader.getSystemClassLoader();
ImageIcon img = new ImageIcon(cl.getResource("logo.png"));
根据 Eclipse,NullPointerException 位于创建 imageIcon 的同一行
图像在那里,因为以下工作正常:
ImageIcon img = new ImageIcon("logo.png");
我正在使用类加载器,因为我想将它包含在一个可执行的 jar 中。
Eclipse 资源管理器中的项目。主函数在 Gui.java 中
【问题讨论】:
-
你的项目结构是什么?
-
你把logo,png图片放在哪里了?包含代码和 logo.png 的类文件是否在同一位置?
-
在此语句之前添加一个空检查,例如 if(c1!=null) ImageIcon img = new ImageIcon(cl.getResource("logo.png"));
-
@DeviKiran - 是的 - 通过不使用 ClassLoader 来证明(我的问题)
-
@npinti - 我不确定我是否正确 - 但我上传了一张图片并添加了一些文字
标签: java classloader executable-jar imageicon