#spring
#spring
Вопрос:
У меня есть веб-приложение, которое загружает файлы контекста приложения из многих мест.
Один из файлов контекста приложения находится в файле .jar (этот jar присутствует в WEB-INF / lib).
В этом контексте приложения есть запись, подобная этой:
<контекст: свойство-заполнитель location="путь к классу:META-INF/spring/default.app.properties" игнорировать-неразрешимый="true" игнорировать-ресурс-не-найден ="true"/>
Но default.app.properties никогда не найден. Я продолжаю получать ошибки о том, что не удалось разрешить заполнитель ‘db.driver’ — то, что определено в default.app.properties и упоминается в контексте приложения через $ {db.driver}
Это почти так, как если бы свойство-заполнитель игнорировалось. Я тоже попытался указать абсолютный путь к моему default.app.properties .. даже это не сработало бы.
Комментарии:
1. вы уверены, что xml загружен?
2. Да, XML загружается, потому что, если я введу ошибку в context:property-placeholder (например: переименовать местоположение в locati) — я вижу ошибку. Любые идеи / подсказки — что я могу попробовать?
3. как вы загружаете XML-файлы? использование
<import
?4. @Bozho WEB-INF/web.xml содержит следующие строки: <code> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/web-application-context.xml путь к классу*:META-INF/**/*context.xml </param-value> </context-param> </code> В результате возникает application-context.xml в файле jar в WEB-INF/lib. Он загружается … и у него есть свойство-заполнитель, которое просто отказывается работать.
5. @Bozho — Что-нибудь, что я могу попробовать и сообщить? Полностью застрял здесь.
Ответ №1:
Вы решили эту проблему? Недавно я использовал то же самое. Мое решение простое и вряд ли будет иметь место, но … в моем случае было два типа заполнителей разных типов. Один тип был настроен с помощью
<context:property-placeholder/>
другой тип был настроен как компонент типа ServletContextPropertyPlaceholderConfigurer . Удаление одного типа заполнителя решило проблему.
Ответ №2:
Поскольку Spring разрешает существование только одного <context:property-placeholder/> , Когда Spring найдет <context:property-placeholder/> , он проигнорирует остатки. Итак, поместите все properties conf в одно место.
ссылка на :http://www.iteye.com/topic/1131688