Maven项目加载Image失败

问题描述 投票:0回答:1

我正在开发一个 Java Maven 项目,并尝试使用 ClassLoader 从资源/图像文件夹中加载图像,但由于某种原因失败了。 在我将所有图像从“src/main/resource”移动到“src/main/resource/Images”文件夹之前,一切都很好。 我必须将图像的字母大小写更改为“images”或“IMageS”之类的内容才能成功加载它们,这很奇怪。

这是我用来加载图像的代码

Image i = null;
URL u = GameUtil.class.getClassLoader().getResource(imagePath);
i = new Image(u.toString());

这是我使用的路径,作为示例 “图片/candy.png”

错误消息:java.lang.NullPointerException:无法调用“java.net.URL.toString()”,因为“u”为空

我希望我可以使用确切的路径加载图像,而不是使用与实际文件夹的字母大小写不匹配的路径

java image maven url classloader
1个回答
0
投票

编译 Maven 项目时,

/src/main/resources
的内容将放置在类路径的根目录下。您需要以前导正斜杠开始路径以引用根。示例:

URL url = GameUtil.class.getResource("/Images/candy.png");
// ...

我敢打赌您最初就是这样做的。我的猜测是您删除了前导斜线并忘记了它。

© www.soinside.com 2019 - 2024. All rights reserved.