找不到Spring“类路径:”位置

时间:2018-12-26 03:32:00

标签: java spring javabeans

我有一个Spring Project,正在使用bean配置文件 beans.xml。在bean配置文件中,我为PlaceHolder定义了一些属性,该属性引用了classPath ...在应用程序运行时,这些属性是从/unknownPath/Dev/Loc1/System.properties加载的

哪里

${BUS_ENV}=Dev
${LOCATION1}=Loc1

<bean id="placeholderProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>classpath:${BUS_ENV}/${LOCATION1}/system.properties</value>
            <value>classpath:${BUS_ENV}/lbsprocessor.properties</value>
        </list>
    </property>
    <!-- Force system properties to override any deployed runtime properties -->
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
    <property name="ignoreUnresolvablePlaceholders" value="true" />

</bean>
  1. 我在IDE中运行项目时未指定类路径
  2. 我的资源文件夹中没有这些文件
  3. 大约有65个此类文件(由于各种原因)为Dev/Loc1/System.properties
  4. 我无法找到从哪个位置引用属性。即使在调试之后,我也找不到类路径是指什么。请帮我弄清楚

3 个答案:

答案 0 :(得分:0)

如果您使用的是eclipse IDE,请在项目上单击鼠标右键,选择“属性”,然后选择“ Java构建路径”。在第一个选项卡Source上,有一个名为Default Output文件夹的输入,该值是您的类路径。检查所有属性文件是否在该路径中。

答案 1 :(得分:0)

参考您的point 2问题可能在这些行中

<value>classpath:${BUS_ENV}/${LOCATION1}/system.properties</value>
<value>classpath:${BUS_ENV}/lbsprocessor.properties</value>

您使用classpath作为文件位置,这意味着这些属性文件必须位于.war文件中的/Dev/Loc1/System.properties

如果属性文件不在项目范围内,则可以在系统级别访问

<value>file:${BUS_ENV}/${LOCATION1}/system.properties</value>
<value>file:${BUS_ENV}/lbsprocessor.properties</value>

例如:

<value>file:/home/testuser/system.properties</value>

答案 2 :(得分:0)

我正在使用Mac OS,因此我们将配置存储为jar文件,位于 / Library / Java / Extension。因此,默认情况下,java直接将类路径引用到该位置。