Загрузите файл конфигурации в classpath при использовании исполняемого файла jar - PullRequest
0 голосов
/ 30 июня 2011

Я строю сборку в Maven для утилиты командной строки. Я могу запустить его как исполняемый файл jar, но он не работает, потому что мне нужно загрузить файл конфигурации извне. Предполагая следующий конфиг, как мне запустить jar?

  1. Jar находится в /opt/myapp/lib/myapp-assembly.jar
  2. Конфигурация находится в /etc/myapp/config/settings.xml
  3. Я загружаю код из classpath с помощью ClassPathResource ("/ settings.xml");

Любая помощь приветствуется!

1 Ответ

1 голос
/ 30 июня 2011

Я вижу два способа сделать это:

  1. Запустить программу, используя jar как архив, а не как исполняемый jar, указав основной класс во время выполнения.Другими словами, выполните java -classpath /opt/myapp/lib/myapp-assembly.jar:/etc/myapp/config [имя вашего основного класса].
  2. Используйте поле Class-Path в jarфайл манифеста.Записи в нем непосредственно добавляются в путь к классам времени выполнения, и ничто не мешает вам указать каталог файловой системы, а не другой файл JAR.Таким образом, ваш манифест будет содержать: Class-Path: / etc / myapp / config /
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...