【发布时间】:2020-11-19 13:08:43
【问题描述】:
我有以下 maven 项目结构,也可以在此处 (ProjectStructure) 中看到:
-maws20.algorithm
|-src/main/resources
|-images
|-menuBanner
|-linearSearchMenuBannerUnsorted.png
|-src/main/java
|-linearSearch.menu
|-LinearSearchMenuBanner.java
我正在尝试使用以下行在 LinearSearchMenuBanner.java-File 中加载该 .png 图像:
@Override
public Image loadBackgroundImage() {
return new Image(LinearSearchMenuBanner.class.
getResource("/images/menuBanner/linearSearchMenuBannerUnsorted.png").toString());
}
这不是正确的相对路径吗?因为我收到以下错误:
...
Caused by: java.lang.NullPointerException: Cannot invoke "java.net.URL.toString()" because the return value of "java.lang.Class.getResource(String)" is null
at linearSearch.menu.LinearSearchMenuBanner.loadBackgroundImage(LinearSearchMenuBanner.java:20)
...
(第20行就是上图的那一行)
我以为我理解 Java 中的相对路径。 ^^'
感谢您的帮助。
【问题讨论】:
-
尝试从“/images/...”中删除第一个/
-
带“/”的路径是绝对的,不是相对的。
-
使用相对路径,您从当前所在的“位置”(位置)开始,忽略上面的内容。也就是说,与你的职位有关,但你可以在上面加上“../”。
标签: java relative-path