Ошибка JUnit: не удалось загрузить ApplicationContext: нарушающий ресурс: ресурс пути к классу

#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