2016-10-10 4 views
1

Я разрабатываю приложение Spring Boot, в которое добавлена ​​зависимость. Эта зависимость имеет файл spring.xml. Я просматриваю этот xml-файл и создаю beans. Один из beans ищет hibernate.properties в classpath. Я добавил этот файл свойств в папку ресурсов моего приложения. Однако я все еще вижу исключение, указанное ниже. Пожалуйста, дайте мне знать, что мне не хватает?Spring - java.io.FileNotFoundException: ресурс пути класса не может быть открыт, потому что он не существует

<util:properties id="HibernateProperties" location="classpath:hibernate.properties"/> 

java.io.FileNotFoundException: путь к классам ресурсов [hibernate.properties] не может быть открыт, потому что не существует

+0

Вы пробовали 'classpath:/hibernate.properties'? –

ответ

2

Here some doc from spring

модели Ant-стиле с classpath: ресурсам не гарантируется найти соответствующие ресурсы, если корневой пакет для поиска доступен в расположение нескольких классов. Это происходит потому, что ресурс, такие как

ком/MyCompany/package1/сервис-context.xml может быть только один места, но когда путь, такие как

классам: ком/моякомп/**/услуги -context.xml

так,

<util:properties id="HibernateProperties" location="classpath*:hibernate.properties"/> 

может дать вам больше шансов.

но

Пожалуйста, обратите внимание, что путь к классам *: в сочетании с узорами Ant стиле будет работать только надежно, по крайней мере, один корневой каталог перед началом шаблона, если фактические целевые файлы не находятся в файл system. Это означает, что шаблон, подобный classpath *: *. Xml, не будет извлекать файлы из корня файлов jar, а скорее из корня расширенных каталогов . Это происходит из-за ограничения в методе ClassLoader.getResources() класса JDK, который возвращает только файловую систему местоположений для пустой строки (указывающей потенциальные корни на поиск).

+1

Спасибо @kuhajeyan. Я не могу изменить spring.xml, поскольку он находится внутри внешней банки. Есть ли что-нибудь еще, что можно сделать в этом случае? –

+0

@PunterVicky Я предполагаю, что должно быть возможно определить ваш собственный, который будет переопределять то, что уже существует в classpath, здесь проверьте http://stackoverflow.com/questions/12382070/overriding-property-file-using-spring – kuhajeyan

Смежные вопросы

 Смежные вопросы