2013-04-02 3 views
1

Мне нужно уметь читать в файле свойств, который живет за пределами моей войны. Моя проблема в том, что нужно решение, которое позволит мне рассказать мой военный файл, где находится мой файл свойств. Можно ли это сделать через переменные bashrc и переменные env windows?Файл свойства Outisde .WAR-файла

Мне нужно сделать это, потому что мне нужно оставить файл свойств в разных местах, которые могут находиться вдали от военного файла.

Я изо всех сил пытаюсь найти решение.

ответ

0

один способ, чтобы обеспечить определенное место, передавая Java аргумент или настройки среды varialble и прочитать его из приложения, чтобы определить местоположение

и в качестве запасного варианта (по умолчанию) приложение должно быть объявление смотреть на

${user.home}/appname/some.peroperties 
+0

делает пользователь.домой выполнять то же самое в окнах os? – user101010101

+0

да его О.С. вы можете прочитать его как 'System.getProperty (« user.home »); –

0

Можно определяет список возможных каталогов ... и попытаться прочитать каждый ...

у меня есть решение, которое прочитать файл свойств в файловой системе, используя структуру каталогов по умолчанию.

Например: C: \ свойства \ код костюм \ PRD \ application.properties

Где: код костюм является переменной определяется именем приложения; PRD это среда, что я буду использовать

удачи

1

Это будет очень многое зависит от того, что файл свойств для. Некоторые библиотеки будут иметь возможность установить его в командной строке, а другие позволят явно загружать их в код.

В случае последнего System.getProperties() может оказаться полезным, так как он позволяет читать свойства, переданные JVM с использованием флага '-D'. Например,

java -jar -Dfilelocation="yourfilelocation" yourapp.jar 

будет заполнять системное свойство 'filelocation' строкой 'yourfilelocation'. Затем этот код можно использовать в вашем коде для загрузки файла свойств (или того, что вы хотите с ним делать).

Поскольку вы работаете в каком-то сервере приложений, есть несколько способов, которыми вы можете это учесть. Для причала вы можете поместить их в start.ini (или просто передать их в командной строке при запуске причала)

где используется кот переменной Enviroment под названием JAVA_OPTS, так

JAVA_OPTS='-Dfilelocation=yourfilelocation' start.sh 

бы установить систему когда вы начинаете tomcat.