Как получить доступ к src / main / resources из сгенерированного exe

Я использую maven и создаю приложение, которому необходимо получать файлы с src/main/resources при запуске exe.

Я использовал это для создания exe при сборке> http://www.hascode.com/2012/08/creating-a-windows-executable-from-a-jar-using-maven/

Я получаю сообщение об ошибке, что он не может получить доступ к файлам внутри src/main/resources при запуске файла exe.

Я использую это, чтобы получить файлы из src / main / resources

ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
File[] files = new File(classLoader.getResource("files").getFile()).listFiles();

Когда я запускаю его в eclipse, он запускается, но когда я запускаю его с помощью exe,

используя затмение: Нет ошибок

DEBUG file:/C:/Development/Java/eclipse/workspace/app_sample/target/classes/files
DEBUG /C:/Development/Java/eclipse/workspace/app_sample/target/classes/files

используя exe:

DEBUG file:/C:/Users/User.Name/Desktop/just%20some%20directory/App.exe!/files
ERROR java.lang.NullPointerException

Гадание: скомпилированная программа ищет src/main/resources/ в рабочем каталоге, то есть там, где он выполняется. Пожалуйста, разместите свой код там, где вы пытаетесь получить доступ к этому каталогу.

Thomas Timbul 11.04.2018 12:30

вы можете опубликовать, как получить файлы из src / main / resources?

Elarbi Mohamed Aymen 11.04.2018 12:33

ClassLoader classLoader = getClass (). GetClassLoader (); Файл файл = новый файл (classLoader.getResource (fileName) .getFile ());

DarthDeveloper 11.04.2018 12:48

См. Также: stackoverflow.com/questions/3160691/…

lexicore 11.04.2018 13:06
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
35
0

Другие вопросы по теме