У меня проблема с загрузкой файла свойств. Кажется, что местоположения разные между запуском проекта в Eclipse и созданием исполняемого jar и добавлением ресурсов в jar.
Я создал проект как проект maven из Eclipse. Это созданная файловая структура.
![enter image description here](https://i.stack.imgur.com/TBXPZ.jpg)
Если я хочу избежать исключения NullPointerException при работе в Eclipse, мне нужно использовать:
InputStream stream = RMDepositImport.class.getResourceAsStream("/RMDeposit.properties");
Это то, что находится в целевой папке:
![enter image description here](https://i.stack.imgur.com/FRP19.jpg)
Однако я получаю исключение NullPointerException, если экспортирую в исполняемый файл Jar.
Чтобы Jar смог найти файл свойств, мне нужно изменить путь на:
InputStream stream = RMDepositImport.class.getResourceAsStream("/resources/RMDeposit.properties");
Но это приводит к появлению нулевого указателя при запуске проекта в Eclipse.
Вот файловая структура файла .properties, который находится в папке ресурсов.
![enter image description here](https://i.stack.imgur.com/dvwBx.jpg)
Почему это происходит и как я могу это исправить? Похоже, что jar получает .properties, помещенные в папку ресурсов, а запуск проекта в Eclipse помещает .properties в корень. Я боролся с этим несколько часов.