项目启动部署时报错:java.lang.NoSuchMethodError
2021-06-17 04:04
报错:
=====================================================================================================
项目启动部署报错:
java.lang.NoSuchMethodError: org.springframework.util.ReflectionUtils.doWithLocalFields(Ljava/lang/Class;Lorg/springframework/util/ReflectionUtils$FieldCallback;)V at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.buildPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:418) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.findPersistenceMetadata(PersistenceAnnotationBeanPostProcessor.java:397) at org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(PersistenceAnnotationBeanPostProcessor.java:333) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:872) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:495) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:293) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
只粘贴了部分错误在这里。
错误具体是什么,不重要,关键是这类型问题
java.lang.NoSuchMethodError
怎么解决才是最关键的问题!!!
分析:
==========================================================================================
海量的帖子/文章中都声明了这个问题的根源所在。
不是调用这个类,类中方法不存在;
就是这个方法在多个类中都有;
翻来覆去就是架包不匹配啦,版本不一致啦,冲突啦,啦啦啦乱七八糟的。好吧,怎么解决呢?
解决:
==========================================================================================
①不管你用的什么IDE,无论ecplise还是myecplise又或者idea。在解决这个问题之前,你需要懂得一件事,就是会在项目启动前,配置JVM参数。
参考:http://www.cnblogs.com/sxdcgaq8080/p/8022096.html一看就懂了。
②添加一个VM参数
-XX:+TraceClassLoading
③保存后重启项目
④发现报错和上面是哪个架包出现了问题
那么去检查
1》是不是这个架包没有下载下来
2》是不是这个架包中这个类下没有这个方法
3》是否要更换架包版本来解决这个问题
4》是否别的架包也有这个相同类的相同方法,导致找不到本方法
按照这样的思路解决问题即可。
⑤仅对应本次截图出现的问题,解决方法
在Stack Overflow找到相同的问题,由于对spring源码并非特别熟悉,只是提出在4.2以后上面报错的方法就被提到了spring-core架包中而不是在orm架包中,所以,需要将spring-orm架包的版本降低到
我更改spring版本就是统一更改的,完整的pom.xml文件在最后给出。
=========================================================================================
spring整合activeMQ的完整pom.xml文件
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.sxd springDemo1.0-SNAPSHOT war UTF-8 4.1.9.RELEASE 4.3.8.Final 2.5.0 org.apache.activemq activemq-all5.12.1 junit junit4.12 test org.springframework spring-core${spring.version} org.springframework spring-beans${spring.version} org.springframework spring-context${spring.version} org.springframework spring-tx${spring.version} org.springframework spring-web${spring.version} org.springframework spring-jms${spring.version} org.springframework spring-test${spring.version} test org.springframework spring-webmvc${spring.version} cglib cglib2.2.2 org.springframework spring-orm${spring.version} org.hibernate hibernate-core${hibernate.version} org.hibernate hibernate-ehcache${hibernate.version} net.sf.ehcache ehcache2.9.0 log4j log4j1.2.17 mysql mysql-connector-java5.1.34 com.mchange c3p00.9.5-pre10 com.alibaba fastjson1.2.3 com.fasterxml.jackson.core jackson-annotations${jackson.version} com.fasterxml.jackson.core jackson-core${jackson.version} com.fasterxml.jackson.core jackson-databind${jackson.version} org.aspectj aspectjweaver1.8.4 javax.servlet servlet-api3.0-alpha-1 provided javax.servlet jstl1.2
文章标题:项目启动部署时报错:java.lang.NoSuchMethodError
文章链接:http://soscw.com/index.php/essay/94873.html