【问题标题】:Adding a directory to tomcat classpath and read the property file in spring将目录添加到tomcat类路径并在spring中读取属性文件
【发布时间】:2013-07-14 07:07:00
【问题描述】:

我正在尝试读取位于外部文件夹中的 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 中删除服务器配置并重新配置它。

这些链接总体上很有帮助:

【问题讨论】:

标签: spring-mvc tomcat7


【解决方案1】:

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

CLASSPATH=/yourdir/

对于 Windows:setenv.bat

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

【讨论】:

    【解决方案2】:

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

    这些链接总体上很有帮助:

    将目录添加到 tomcat 类路径

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

    【讨论】:

      【解决方案3】:

      如果您打算将文件保留在 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 中,上面的代码也可以在那里正常工作

      【讨论】:

        猜你喜欢
        • 2012-11-01
        • 2021-01-05
        • 2018-10-12
        • 2011-04-15
        • 2016-04-03
        • 2021-05-26
        • 1970-01-01
        • 1970-01-01
        • 2012-01-29
        相关资源
        最近更新 更多