Этот вопрос очень похож на один более старый, но решение не сработало для меня.
У меня есть пакет WAR.
В web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-context.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
In application-context.xml
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:social.properties</value>
</property>
</bean>
Но при этом получается:
org.springframework.beans.factory.BeanInitializationException: Не удалось загрузить свойства;вложенное исключение - java.io.FileNotFoundException: не удалось открыть ресурс ServletContext [/social.properties]
Я проверил пакет WAR - файлы .xml
и .properties
находятся в /WEB-INF/classes
.properties
файл находится в src/main/resources
и .xml
в src/main/java
(в пакете по умолчанию оба) и maven переносит их (я думаю) правильно в пакете по умолчанию WEB-INF/classes
Кто-нибудь знает, почему я мог получить это исключение?Спасибо.
РЕДАКТИРОВАТЬ: я просто хочу добавить, что тесты JUnit проходят правильно (я имею в виду, что они загружают то, что они должны из social.properties
), но при запуске приложения оно игнорирует мой classpath:
префикс