как установить пользовательскую системную переменную для JVM для доступа к файлу свойств?

Мне нужно прочитать файл config.properties из местоположения, которое я установил с помощью переменной -Dapp.conf=/path/to/config.properties, и установить его в источник данных, когда я запускаю свое приложение. файл должен находиться в любом месте файловой системы. как это сделать?


person Igor    schedule 21.04.2016    source источник


Ответы (1)


Вы можете загрузить файл properties следующим образом:

Properties p = new Properties();
try (Reader reader = new FileReader(System.getProperty("app.conf"))) {
    p.load(reader);
}

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

person Nicolas Filotto    schedule 21.04.2016
comment
как установить эту переменную при запуске приложения? я использую мавен - person Igor; 22.04.2016
comment
вы имеете в виду системное свойство? как запустить приложение с помощью maven? - person Nicolas Filotto; 22.04.2016
comment
Если это так, проверьте это stackoverflow.com/questions/3708846/ - person Nicolas Filotto; 22.04.2016
comment
я запускаю свое приложение с плагином Jetty from Idea, в свойствах runner maven, в Environment variables я устанавливаю -Dapp.conf=/path/to/config.properties. - person Igor; 22.04.2016
comment
Николай, я сделал, как вы сказали, и это было именно то, что мне было нужно! Спасибо! - person Igor; 22.04.2016
comment
Как я могу вставить свойства из моего config.properties в источник данных, определенный в appContext.xml? я пытаюсь <property name="driverClassName" value= "${database.driver}"/>, но это не работает, я пытаюсь загрузить конфигурацию с помощью этого<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer" > <property name="location" value="file:///#{systemEnvironment['app.conf']}"/> </bean> - person Igor; 22.04.2016
comment
проверьте это sethuramanmurali.wordpress.com/2013 /05/04/ - person Nicolas Filotto; 22.04.2016