java.lang.ExceptionInInitializeError在Spring中创建应用程序上下文时发生异常
我正在使用Spring进行练习,当我尝试实例化上下文时,得到一个java.lang.ExceptionInInitializerError异常。异常出现在下面,后面是我的代码。我以前简化了我的实验 例外java.lang.ExceptionInInitializeError在Spring中创建应用程序上下文时发生异常,java,spring,exception,applicationcontext,Java,Spring,Exception,Applicationcontext,我正在使用Spring进行练习,当我尝试实例化上下文时,得到一个java.lang.ExceptionInInitializerError异常。异常出现在下面,后面是我的代码。我以前简化了我的实验 例外 Oct 17, 2012 5:54:22 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh INFO: Refreshing org.springframework.context.s
Oct 17, 2012 5:54:22 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@570c16b7: startup date [Wed Oct 17 17:54:22 CDT 2012]; root of context hierarchy
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:195)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:128)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:535)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:449)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at helloworld.HelloWorldTest.main(HelloWorldTest.java:13)
Caused by: java.lang.NullPointerException
at org.springframework.beans.factory.support.DefaultListableBeanFactory.<clinit>(DefaultListableBeanFactory.java:105)
... 7 more
第17行与
上下文.getBean(“userRepository”
行不对应,它对应于初始化Spring上下文之前的那一行。实际上,您还可以通过stacktrace看到,它说它在ClassPathXmlApplicationContext
的第83行失败,其中存在该类的构造函数
无论如何,当Spring出于任何原因(构造函数中的异常等)无法创建任何bean时,通常会引发此异常。我建议降低Spring类和您自己的库的日志级别,以查看下面发生了什么
org.springframework=TRACE
com.gamemanagertest=TRACE
com.gamemanagertest=TRACE
还要检查资源文件,如果它们产生任何错误,应用程序和所有对象的构造函数是否可以访问它们。我也面临同样的问题。我从项目中删除了所有spring jar。 然后再次将它们粘贴到项目文件夹中,并将它们添加到构建路径中。 它成功了。
不太清楚它是如何发生的。你确定你对类路径上的所有Spring JAR都使用相同的版本吗?编辑你的帖子并包括整个堆栈跟踪。@mattb我使用的是Spring Spurce.org网站上发布的最新Spring JAR。@JimGarrison如何从Ec中获取剩余的堆栈跟踪lipse/STS。这是控制台中显示的内容。@cyotee你在使用Maven吗?如果是,你能发布你的POM吗?我假设你安装了一个日志框架,用答案中给出的级别配置它,看看有什么中断。
package helloworld;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class HelloWorldTest {
/**
* @param args
*/
public static void main(String[] args)
{
ApplicationContext context = new ClassPathXmlApplicationContext("HelloWorldTest-context.xml");
MessageContainer message = context.getBean(MessageContainer.class);
MessageOutputService service = context.getBean(MessageOutputService.class);
service.outputMessageToConsole(message);
}
}
org.springframework=TRACE
com.gamemanagertest=TRACE
com.gamemanagertest=TRACE