2016-05-07 2 views
1

Я не могу загрузить путь к файлу в свое приложение. Может кто-нибудь, пожалуйста, помогите мне.Невозможно загрузить файл свойств в контексте весны

Вот весной XML-конфигурации:

<context:property-placeholder location="file:${globalproplocation}" 
     ignore-unresolvable="true" ignore-resource-not-found="true" order="-1" /> 

Я добавил это JAVA_OPTS под catalina.sh, как показано ниже:

JAVA_OPTS="-XX:MaxPermSize=4096m -XX:PermSize=1024m -Dglobalproplocation=/Users/admin/properties/temp.properties" 

Но некоторые, как это не подхватили, здесь это мой журнал tomcat.

<Loading properties file from ServletContext resource [/${globalproplocation}]> 
    2016-05-07 02:52:24,089 WARN [org.springframework.beans.factory.config.PropertyPlaceholderConfigurer] - 
<Could not load properties from ServletContext resource [/${globalproplocation}]: 
Could not open ServletContext resource [/${globalproplocation}]> 

Что я здесь делаю неправильно?

ответ

0

Проблема заключается в том, что когда Spring Context запускает и видит в вашем файле конфигурации держатель места $ {globalproplocation}, и он пытается загрузить путь к файлу следующим образом: $ {globalproplocation}. Проблема заключается в том, что когда вы передаете параметр, как -Dglobalproplocation=/Users/admin/properties/temp.properties, xml не будет изменен, а контекстные contiuos попытаются загрузить непоследовательный файл. Для преодоления этой проблемы вы можете использовать maven и подключаемый модуль process processg с конфигурацией, как показано ниже.

<build> 
    <properties> 
      <globalproplocation>/Users/admin/properties/temp.properties</globalproplocation> 
    </properties> 
    <resources> 
     <resource> 
      <directory>src/main/resources</directory> 
      <filtering>true</filtering> 
     </resource> 
    </resources> 

    <plugins> 
     <!-- Facilitates downloading source and javadoc in Eclipse --> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-resources-plugin</artifactId> 
      <version>2.3</version> 
      <configuration> 
       <!-- specify UTF-8, ISO-8859-1 or any other file encoding --> 
       <encoding>UTF-8</encoding> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

Затем вы можете выполнить чистый пакет команд МВН, и результат сборки будет иметь файл XML будет преобразован и palceholder будет заменен йота правильный путь.

Надеюсь, что это поможет вам.

0

весна XML конфигурации:

`<bean 
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="propname"> 
     <value>test.properties</value> 
    </property> 
</bean>` 

Альтернативное использование опции

классам

<bean name="propertyPlaceholder" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="propname"> <value>classpath:test.properties</value> </property> </bean>

Смежные вопросы