今天在作单元测试的时候遇到一个问题,这是在我的练习项目中进行的,之前的项目跑起来也是很OK 的,所以没有想太多,直接运行了之后出现了这个问题:Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/core/OrderComparator$OrderSourceProvider
at org.springframework.context.support.AbstractRefreshableApplicationContext.createBeanFactory(AbstractRefreshableApplicationContext.java:200)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:126)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:540)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:454)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:94)
at com.spring.traning.service.APPTest.main(APPTest.java:11)
Caused by: java.lang.ClassNotFoundException: org.springframework.core.OrderComparator$OrderSourceProvider
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
我们仔细一看是NoClassDefFoundError类没有被定义错误,what我去maven中查看了下这个jar包是有的,怎么会产生这个错误呢,仔细看了好久原来是版本不一致,我吧spring-core的版本搞成一直就好了,通过了。好啦以后出现这种问题咱们首先箱单的是:
1.有没有这个依赖包。
2.依赖包的版本是否一致。
一定要做到Spring的依赖包的版本一致(最好)。
网友评论