Добавление каталога в путь Tomcat и чтение файла свойств в spring
Я пытаюсь прочитать файл test1.properties
, который находится во внешней папке.
вот мой конфигурационный файл spring:
<bean id="propertyConfigurer3" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
<property name="locations">
<list>
<value>classpath:test.properties</value>
<value>classpath:test1.properties</value>
</list>
</property>
</bean>
если я поместил test1.properties
в папку tomcat7/lib
, я могу ее прочитать.
Однако я хочу поместить его в другой каталог как tomcat7/env/test1.properties
Я добавил путь к conf/catalina.properties
:
common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/env
Это не работает, пожалуйста, помогите
Решение:
Хорошо.. наконец-то исправил это. Я все время делал это правильно. Это вызвало проблему с моей IDE.
IDE не собирал изменения в файле catalina.properties
. Мне пришлось удалить конфигурацию сервера в моей среде IDE и настроить ее.
эти ссылки были полезны вообще:
Ответы
Ответ 1
Хорошо.. наконец-то исправил это. Я все время делал это правильно. Это была моя IDE, которая вызвала проблему. IDE не собирала изменения в файле catalina.properties. Мне пришлось удалить конфигурацию сервера в моей среде IDE и настроить ее.
эти ссылки были полезны вообще:
Добавление каталога в путь класса tomcat
http://www.mulesoft.com/tomcat-classpath#solutions
Ответ 2
Используйте setenv.sh в каталоге bin. Если файл не существует, создайте его.
Чтобы добавить что-то в путь к классам, используйте следующий синтаксис:
CLASSPATH=/yourdir/
Для окон: setenv.bat
Ответ 3
Если вы намерены хранить файл за пределами войны или уха, чтобы вы могли обновить его, не комментируя и не создавая войну. просто редактируя файл и перезагружая сервер. Храните его в любой внешней папке, даже вне сервера, и укажите абсолютный путь в spring.
<bean id="propertyConfigurer3" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>
<property name="locations">
<list>
<value>classpath:test.properties</value>
<value>**file:/someexteranal/dir/test1.properties**</value>
</list>
</property>
Лучше всего, вы можете предоставить этот/путь с помощью root в Unix/linux, и то же самое будет работать в Windows, просто нужно сохранить файл в каталоге, где установлен ваш сервер.
Как и ваш tomcat в драйвере D, а затем держите его в D:\someexternal\dir, и выше код тоже будет хорошо работать