我正在尝试阅读位于外部文件夹的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中删除服务器配置并重新配置它。
这些链接一般都很有用:
答案 0 :(得分:3)
在bin目录中使用setenv.sh。如果文件不存在,请创建它。 要向类路径添加内容,请使用以下语法:
CLASSPATH=/yourdir/
对于windows:setenv.bat
解决方案:在tomcat bin文件夹下创建setenv.bat文件帮助我在WINDOWS中。
答案 1 :(得分:3)
好的..终于解决了..我一直都在正确地做这件事..这是我的IDE造成的问题。 IDE没有获取catalina.properties文件中的更改。我不得不在IDE中删除服务器配置并重新配置它。
这些链接一般都很有用:
将目录添加到tomcat类路径
答案 2 :(得分:0)
如果您打算将文件保留在战争或耳朵之外,以便您可以更新它而无需再次编译和创建战争。只需编辑文件并重新启动服务器。将它保存在任何外部文件夹中,甚至是外部服务器,并在春天给出绝对路径。
<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 / this路径,同样可以在Windows中使用,只需要将文件保存在安装服务器的目录中。 就像你在D驱动器中的tomcat一样,然后将它保存在D:\ someexternal \ dir和上面的代码也可以正常工作