【发布时间】:2021-10-06 15:09:02
【问题描述】:
我正在尝试制作一个以前从未在 Eclipse 上使用过的项目,它可以工作。请记住,代码不是我的,所以我对它一无所知。该项目在 Cygwin 中使用“make”和“make clean all run”命令运行得非常好,但是当我在 Eclipse 上启动它时,我有这个错误消息:
线程“main”java.lang.NullPointerException 中的异常:无法调用“java.awt.Image.getProperty(String, java.awt.image.ImageObserver)”,因为“image”为空>
该错误是由(第一个代码部分的最后一行)引起的:
private void initClass() {
BufferedImage prefs_image;
prefs_image = MBMImagesDico.loadBestImage(ICON_PREFS_STR,
Transparency.TRANSLUCENT);
_prefs_icon = new ImageIcon(prefs_image);
}
和(此代码部分的最后一行):
public ImageIcon (Image image) {
this.image = image;
Object o = image.getProperty("comment", imageObserver);
}
因为图像是空的。
Eclipse 似乎没有找到程序正在寻找的图像文件。所以我尝试了:
- 更改 BuildPath 以包含 ressource 文件夹(此处称为 Images)或 Images 文件夹中包含的 Icons 文件夹。没有或没有工作
- 将工作目录从默认更改为项目的 bin Here is a picture of what "changing the working directory" means
- 检查 bin 是否包含图像文件、资源文件夹以及询问的路径是否与 bin 中构建的内容相对应
- 仔细查看代码以了解为什么我得到一个空值(虽然知道使用“make so that was hopeless”时一切正常)
我还是没有找到解决办法。
我正在使用 Eclipe 2021-09 (4.21.0) 和 java 8u202。
我包含了调试模式下的路径图片和 bin 中的实际路径。如您所见,它“应该”起作用。 The path demanded during the execution The path in the bin folder in the project folder
这是我在 StackOverflow 上的第一篇文章,所以如果我没有提供足够的信息或者我说的太多,我很抱歉。我有点绝望(这可能很容易解决)。 祝大家有个美好的一天。
【问题讨论】:
-
你说的“将工作目录从默认更改为项目的bin”是什么意思?在运行配置中,在 Arguments 选项卡中,您是否更改了工作目录?可以请您出示一下吗?
-
我刚刚添加了一个带有屏幕截图的示例。如您所见,我不确定自己在做什么..
-
感谢您的帮助!我刚刚弄清楚我做错了什么!祝你有美好的一天。
标签: java eclipse file buildpath