簡體   English   中英

找不到Spring“ classpath:”位置

[英]Not able to find Spring “classpath:” location

我有一個Spring Project,正在使用bean配置文件beans.xml在bean配置文件中,我為PlaceHolder定義了一些屬性,該屬性引用了classPath ...在應用程序運行時,這些屬性從/unknownPath/Dev/Loc1/System.properties加載/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. 我找不到從哪個位置引用屬性。 即使在調試之后,我也找不到類路徑是指什么。 請幫我弄清楚

如果使用的是eclipse IDE,請在項目上單擊鼠標右鍵,選擇“屬性”,然后選擇“ Java構建路徑”。 在第一個選項卡Source上,有一個名為Default Output文件夾的輸入,該值是您的類路徑。 檢查所有屬性文件是否在該路徑中。

提到您的point 2問題可能在這些行中

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

您正在使用classpath作為文件位置,這意味着這些屬性文件必須位於/Dev/Loc1/System.properties的.war文件中

如果屬性文件不在項目中,則可能在系統級別,您可以像這樣訪問它們

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

例如:

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

我使用的是Mac OS,因此我們將配置存儲為jar文件,存儲在/ Library / Java / Extension下。因此,默認情況下,java直接將類路徑引用到該位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM