JUnit 错误:无法加载 ApplicationContext:违规资源:类路径资源

Posted

技术标签:

【中文标题】JUnit 错误:无法加载 ApplicationContext:违规资源:类路径资源【英文标题】:JUnit Error: Failed to load ApplicationContext: Offending resource: class path resource 【发布时间】:2020-09-02 16:46:57 【问题描述】:

我一直在尝试像这样在 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]

知道可能有什么问题吗?

【问题讨论】:

您不能使用相对文件路径格式。使用适当的基于类路径的路径(例如,将您的 application.xml 放入 src/main/resources 并直接说 locations = "application.xml")。 @chrylis-cautiouslyoptimistic- 我想这不是问题所在。它能够找到 application.xml 文件。但是当它阅读时,就有这个问题。 请春季版 @DineshDontha Spring 版本为 4.1.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>

【讨论】:

谢谢。错误在于我的 application.xml

以上是关于JUnit 错误:无法加载 ApplicationContext:违规资源:类路径资源的主要内容,如果未能解决你的问题,请参考以下文章

错误: 找不到或无法加载主类 XXX.Application 解决办法

springboot启动时报错 错误: 找不到或无法加载主类 com.xxx.xxx.Application

2021/12/10关于解决IDEA子模块没有加载到项目中(配置无错误,application.properties文件无法变成绿叶状)问题解决

2021/12/10关于解决IDEA子模块没有加载到项目中(配置无错误,application.properties文件无法变成绿叶状)问题解决

2021/12/10关于解决IDEA子模块没有加载到项目中(配置无错误,application.properties文件无法变成绿叶状)问题解决

2021/12/10关于解决IDEA子模块没有加载到项目中(配置无错误,application.properties文件无法变成绿叶状)问题解决