Я пытался загрузить некоторые изображения для использования в моем Swing-интерфейсе, и хотя моя скомпилированная программа будет загружать изображения правильно, мой .jar не находит изображения .
Прежде всего, я пометил свой файл ресурсов как «Ресурс Root». Макет проекта выглядит следующим образом:
Схема вывода компиляции выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/074sH.png)
.jar-макет выглядит следующим образом:
![enter image description here](https://i.stack.imgur.com/daWeF.png)
Теперь код, который загружал изображения, находится внутри gui пакет; вот оно:
try {
System.out.println(this.getClass().getResource("../images/buttonClip.png").getPath());
attchmntBtnImg = ImageIO.read(getClass().getResource("../images/buttonClip.png"));
sendMsgBtnImg = ImageIO.read(getClass().getResource("../images/buttonForward.png"));
}
catch (IOException e) {
e.printStackTrace();
}
Вывод строки печати правильно печатает путь к изображению
/C:/Users/path/to/Project/out/production/Peer2Party_desktop/images/buttonClip.png
Хотя при запуске из Intellij idea нет ошибок, сгенерирован артефакт (если Я запускаю его из cmd, с правами администратора или без него), я получаю исключение NullPointerException в System.out.println (), но, несомненно, это не является причиной ошибки, так как она все равно вызовет sh на на следующей строке, даже если я удалю печать.
![enter image description here](https://i.stack.imgur.com/OiOkw.png)
Я пытался сделать это для загрузки изображений, но безрезультатно:
this.getClass().getResource("/../images/buttonClip.png");
getClass().getResource("/../images/buttonClip.png");
this.getClass().getResource("images/buttonClip.png");
getClass().getResource("images/buttonClip.png");
this.getClass().getResourceAsStream("images/buttonClip.png");
getClass().getResourceAsStream("images/buttonClip.png");
Любая помощь очень ОЧЕНЬ приветствуется.
Важное примечание: Я нахожусь на windows 10, изображения находятся в правильном пути (file.jar / images / buttonClip.png), но во время выполнения .class не найдет его