Не удалось найти источник "classpath: Spring" - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть Spring Project, в котором я использую файл конфигурации бина. beans.xml. Внутри файла конфигурации бина я определил некоторые свойства для 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. Я не указал classpath при запуске моего проекта в IDE
  2. Я не знаюу меня нет этих файлов в моей папке ресурсов
  3. Существует около 65 таких файлов (по разным причинам), как Dev/Loc1/System.properties
  4. Я не могу найти, из какого места получают свойстваупоминается.Даже после отладки я не смог выяснить, на что ссылается classpath.Пожалуйста, помогите мне разобраться

Ответы [ 3 ]

0 голосов
/ 26 декабря 2018

Ссылаясь на ваши 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>
0 голосов
/ 26 декабря 2018

Я использую Mac OS, здесь мы сохраняем Конфигурации в виде файла jar в /Library/Java/Extension. Поэтому по умолчанию java напрямую ссылается на путь к классам.

0 голосов
/ 26 декабря 2018

Если вы используете eclipse IDE, щелкните правой кнопкой мыши свой проект, выберите свойства и выберите Java Build Path.На первой вкладке Source есть один вход с именем Default Output folder, значением которого является ваш classpath.Проверьте, все ли файлы свойств находятся по этому пути.

...