-
<span style="font-size:18px;"> java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.makeAccessible(Ljava/lang/reflect/Constructor;)V
-
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:146)
-
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:104)
-
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:360)
-
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:293)
-
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
-
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4738)
-
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5181)
-
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
-
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
-
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
-
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
-
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1101)
-
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1816)
-
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
-
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
-
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
-
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
-
at java.lang.Thread.run(Thread.java:745)</span>
这个问题的第一反应是少jar包,然后查看在spring-core.jar这个包下面是有的,所以那一定就是jar包冲突的原因,但是不知道是哪一个冲突 了,网上说是spring jar包和asm jar包冲突,翻遍了项目每个角落都没找到asm这个jar包,后来想起myeclipse有一个通过类名来查找所属包的功能,具体是ctrl+shift+t,然后输入org.springframework.util.ReflectionUtils,结果发现是在一个别人提供的sms短信包里面集成了org.springframework.util.ReflectionUtils这个包,删除就好了。
以后只要有出现jar包冲突都可以用这种方法来快速查找。
这个功能也使用于eclipse,特别方便!