Подтвердить что ты не робот

Добавление каталога в путь 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 и настроить ее.

эти ссылки были полезны вообще:

4b9b3361

Ответ 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, и выше код тоже будет хорошо работать