26

我正在尝试读取test1.properties位于外部文件夹中的文件。

这是我的弹簧配置文件:

<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 中删除服务器配置并重新配置它。

这些链接通常很有帮助:

4

3 回答 3

4

好的..终于修好了..我一直都在正确地做这件事..是我的IDE导致了这个问题。IDE 没有获取 catalina.properties 文件中的更改。我不得不在我的 IDE 中删除服务器配置并重新配置它。

这些链接通常很有帮助:

将目录添加到 tomcat 类路径

http://www.mulesoft.com/tomcat-classpath#solutions

于 2014-12-17T09:07:07.897 回答
3

在 bin 目录中使用 setenv.sh。如果该文件不存在,请创建它。要将某些内容添加到类路径,请使用以下语法:

CLASSPATH=/yourdir/

对于 Windows:setenv.bat

解决方案:在 WINDOWS 中创建 tomcat bin 文件夹下的 setenv.bat 文件对我有帮助。

于 2014-11-07T20:19:12.170 回答
0

如果您打算将文件保留在 war 或 ear 之外,以便您可以更新它而无需再次编译和创建 war。只需编辑文件并重新启动服务器。将其保存在任何外部文件夹中,甚至在服务器外部,并在 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>

最好的事情是,您可以在 Unix/linux 中使用 root 提供此 / 路径,并且在 Windows 中也可以使用,只需将文件保存在安装服务器的目录中。就像您在 D 驱动器中的 tomcat 一样,然后将其保存在 D:\someexternal\dir 中,上面的代码也可以在那里正常工作

于 2014-12-05T17:53:52.727 回答