2014-03-04 3 views
0

я попытался получить доступ к пути класса свойству & определенный пользователем путь к файлу свойств, как показано ниже:Свойство пути класса доступа И пользовательский файл свойств с контекстом Spring?

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
     <list> 
      <value>Common.properties</value> 
      <value>user.home:/database.properties</value> 
     </list> 
     </property> 
     <property name="ignoreUnresolvablePlaceholders" value="true"/> 
     <property name="ignoreResourceNotFound" value="false"/> 
</bean> 

Здесь Common.properties путь работает, но user.home:/database.properties путь не работает. Он показывает ошибку:

org.springframework.beans.factory.BeanInitializationException: Could not load properties; nested exception is java.io.FileNotFoundException: class path resource [user.home:/database.properties] cannot be opened because it does not exist 
(MSC service thread 1-6) at org.springframework.beans.factory.config.PropertyResourceConfigurer.postProcessBeanFactory(PropertyResourceConfigurer.java:87) 

Am, используя JBoss 7, и я изменил standalone.bat включить ниже путь:

set JAVA_OPTS=-Duser.home=file:%JBOSS_CONFIG_DIR%/database.properties 

Правильно ли это ?? Если какой-либо другой способ доступа к такому пути свойств, пожалуйста, дайте мне знать.

ответ

0

Попробуйте использовать заполнители для хранения ключа свойства системы: ${user.home}. Также вы дублировали database.properties в свойстве System и файле конфигурации.

+0

Как создать новое свойство системы и создать новые процедуры системного имущества? –

+0

??? Думаю, я мог бы понять этот вопрос? Чтобы создать свойство System, вы обычно устанавливаете '-Dx = y' в командной строке java. Я вижу, что вы делаете это через 'JAVA_OPTS' и скрипт, который в порядке. Обратите внимание, однако, что 'user.home' зарезервирован JVM, и вы, возможно, не сможете его установить самостоятельно (так лучше использовать какой-то ключ, который вы составляете сами, например' config.home'). –