Здравствуйте, я недавно изменил свой проект JavaFX8 на Maven, все работает хорошо, за исключением загрузки файлов, расположенных рядом с JAR. Это работало раньше, но не больше.Файл Maven Jar читает внешние изображения
СтруктураПапки:
иконка для загрузки расположены в/цели/иконки JAR файл находится в/целях
Моего кода для чтения файлов выглядят следующим образом:
String applicationDir = (new File(".")).getAbsolutePath();
String iconsDir = applicationDir+"/target/icons/";
File[] files = new File(iconsDir).listFiles();
for (File file : files) {
if (file.getName().endsWith(".png")) {
System.out.println(file.getAbsolutePath());
Image img = new Image(file.getAbsolutePath());
ICONLIBRARY.put(file.getName().split("\\.")[0].toUpperCase(), img);
}
}
It входит в цикл и находит файлы, но он вылетает при вызове нового Image (file.getAbsolutePath()) с Недопустимый URL: Недопустимый URL или ресурс не найден. Исключение.
Я пробовал всевозможные вещи с помощью функции ExternalForm() и так далее, но ничего не помогло, я все равно получаю исключение, независимо от того, что я делаю.
Я действительно потерялся и, возможно, вы можете дать мне подсказку, что я делаю неправильно.
Заранее спасибо
Роби
Где вы разместили эти значки в исходном дереве? – khmarbaise
Привет это иконки расположены рядом с JAR-файла здесь полный путь , например: /Users/robi/git/projectxy/target/icons/icon_small.png банка находится на /Users/Роби/мерзавец/projectxy /target/jarfile.jar Но, как я уже сказал, цикл, чтобы найти файлы, работает только для того, чтобы передать имя файла на изображение не удалось. –