Как выполнить итерацию в папке, расположенной вне запущенного файла .jar - PullRequest
0 голосов
/ 02 апреля 2020

У меня проблема с моей java архитектурой приложения. Я хочу доставить простой файл .jar, созданный с помощью Spring Boot. Мне нужно перебрать файлы подарков в другой папке, после запуска .jar. Вот иерархия моего каталога:

введите описание изображения здесь

  1. Я запускаю .jar с .bat или sh, с java -jar myApp.jar
  2. Мне нужно перебрать все файлы, которые есть в myApp / files

, это кажется простым, но я не могу найти способ сделать это! Я пробую много вещей, найденных здесь, но ничего не получается!

Я пробую это, но у меня был нулевой указатель ...

File jarFile = new File(myMainClass.class.getProtectionDomain().getCodeSource().getLocation().toURI());
        String jarLocation = jarFile.getPath();

Не могли бы вы помочь мне, пожалуйста, с некоторой попыткой сделать!

Спасибо!

1 Ответ

0 голосов
/ 06 апреля 2020

Отредактируйте файл .bat, чтобы он начинался в папке myApp, например,

@echo off

#do stuff

cd %myApp_folder%

java -jar myapp.jar

, и вы можете разрешать папки по относительному пути следующим образом:

File confFolder = new File("conf");
File filesFolder = new File("files");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...