Java: не могу загрузить application.properties - PullRequest
0 голосов
/ 01 октября 2010

У меня есть базовый исполняемый JAR-файл с manifest.txt, который связывается с MainClass и некоторыми другими зависимостями jar.

Я хотел переместить мой конфигурационный файл "application.properties" за пределы jar в каталог, в который это легко сделатьнастроить / поддерживать.Java-код выполняет простой ResourceBundle.getBundle ('application.props'), чтобы загрузить его.

У меня есть настройка каталога, которая выглядит следующим образом:

/bin/run.sh
/lib/stuff.jar
/common/application.properties

Мой run.sh выглядитпохож на это:

 TOOLNAME="stuff.jar"
 CLASSPATH="../common"
 java -cp ${CLASSPATH} -Dapplication.props=application  -jar ../lib/${TOOLNAME}.jar &

Когда я запускаю этот файл, jar запускается, но все еще не может найти файл application.properties.

Я не уверен, что это связано с тем, что manifest.txt переопределяет мой параметр -D.Также интересно, можно ли переместить classpath для этой папки "../common" в manifest.txt?

1 Ответ

3 голосов
/ 01 октября 2010

Проблема в вашем параметре -jar.Если вы укажете это, параметр -cp будет проигнорирован.

Вы можете поместить свой путь к классу в манифест, указанный там путь относительно окружающего пути кувшинаЕсли вы укажете ../common там, вы сможете получить доступ к application.properties в качестве ресурса.

...