Spring ClassPathXmlApplicationContext NullPointerException
Posted
技术标签:
【中文标题】Spring ClassPathXmlApplicationContext NullPointerException【英文标题】: 【发布时间】:2014-05-16 21:25:56 【问题描述】:尝试使用弹簧。 xml 文件位于 src 下。我已经搜索并找不到问题。好像找不到xml文件。
我收到以下错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.springframework.core.env.AbstractEnvironment.suppressGetenvAccess(AbstractEnvironment.java:406)
at org.springframework.core.env.AbstractEnvironment.getSystemEnvironment(AbstractEnvironment.java:368)
at org.springframework.core.env.StandardEnvironment.customizePropertySources(StandardEnvironment.java:79)
at org.springframework.core.env.AbstractEnvironment.<init>(AbstractEnvironment.java:124)
at org.springframework.core.env.StandardEnvironment.<init>(StandardEnvironment.java:54)
at org.springframework.context.support.AbstractApplicationContext.createEnvironment(AbstractApplicationContext.java:444)
at org.springframework.context.support.AbstractApplicationContext.getEnvironment(AbstractApplicationContext.java:283)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.resolvePath(AbstractRefreshableConfigApplicationContext.java:122)
at org.springframework.context.support.AbstractRefreshableConfigApplicationContext.setConfigLocations(AbstractRefreshableConfigApplicationContext.java:80)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:137)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at org.hancock.javabrains.DrawingApp.main(DrawingApp.java:13)
Caused by: java.lang.NullPointerException
at org.springframework.core.SpringProperties.<clinit>(SpringProperties.java:58)
... 12 more
这是导致错误的行(通过将 Beans.xml 更改为错误的名称,我仍然得到相同的错误):
ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
xml(Beans.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-4.0.xsd">
<bean id="helloWorld" class="org.hancock.javabrains.HelloWorld">
<property name="message" value="Hello World!"/>
</bean>
</beans>
【问题讨论】:
显示整个堆栈跟踪 .xml 文件的名称是什么?是Beans.xml
还是beans.xml
?
好的,已添加。它被称为 Beans.xml
类加载器为空。您在哪个环境中运行此应用程序?
执行环境:JavaSE-1.7
【参考方案1】:
通过给出完整的文件路径试试这个
ApplicationContext ctx = new FileSystemXmlApplicationContext("Beans.xml");
【讨论】:
似乎您正在使用 pre spring 4.0 库,但在 xml 的模式位置中引用 spring-beans-4.0.xsd。尝试使用最新的 spring 库并查看。 Spring 4 没有 SpringProperties.java 文件。 所有 JARS 都说 4.0.3。如果我将其更改为 spring-beans-3.0.xsd 我会得到同样的错误。以上是关于Spring ClassPathXmlApplicationContext NullPointerException的主要内容,如果未能解决你的问题,请参考以下文章
你了解Spring从Spring3到Spring5的变迁吗?
Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC
学习笔记——Spring简介;Spring搭建步骤;Spring的特性;Spring中getBean三种方式;Spring中的标签