#java #spring #junit #applicationcontext
#java #spring #junit #applicationcontext
Вопрос:
Я пытался настроить контекст приложения в Junit следующим образом:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "../application.xml")
public class TestClass{
.....
}
Ошибка, которую я получаю при запуске JUnit, заключается в:
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://java.sun.com/xml/ns/javaee]
Offending resource: class path resource [application.xml]
Есть идеи, что может быть не так?
Комментарии:
1. Вы не можете использовать формат относительного пути к файлу. Используйте правильный путь на основе classpath (например, введите свой
application.xml
вsrc/main/resources
и просто скажитеlocations = "application.xml"
).2. @chrylis-осторожно оптимистичный — я думаю, это не проблема. Он может найти application.xml файл. Но когда он его читает, возникает эта проблема.
3. Весенняя версия, пожалуйста
4. @DineshDontha Весенняя версия 4.1.5
5. Используйте @ContextConfiguration(«/application.xml «). Если не сработало, пожалуйста, опубликуйте структуру вашего проекта
Ответ №1:
проверьте, application.xml
начинается с этого:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
...
</beans>
Комментарии:
1. Спасибо. Ошибка была с моим application.xml