在集成nacos时,使用FeignClient请求接口时,报AbstractMethodError,首先反应这肯定是版本兼容的问题,但解决版本兼容也花了很久,试各种版本
错误如下:
Caused by: java.lang.AbstractMethodError: org.springframework.cloud.netflix.ribbon.RibbonLoadBalancerClient.choose(Ljava/lang/String;Lorg/springframework/cloud/client/loadbalancer/Request;)Lorg/springframework/cloud/client/ServiceInstance; at org.springframework.cloud.openfeign.loadbalancer.FeignBlockingLoadBalancerClient.execute(FeignBlockingLoadBalancerClient.java:88) ~[spring-cloud-openfeign-core-3.0.3.jar:3.0.3] at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:119) ~[feign-core-10.12.jar:?] at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:89) ~[feign-core-10.12.jar:?] at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) ~[feign-core-10.12.jar:?] at com.sun.proxy.$Proxy138.create2(Unknown Source) ~[?:?] at com.mucang.demo.TestsController.create(TestsController.java:20) ~[classes/:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_301] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_301] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_301] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_301] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:197) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:141) ~[spring-web-5.3.9.jar:5.3.9] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:106) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:808) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.3.9.jar:5.3.9] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1064) [spring-webmvc-5.3.9.jar:5.3.9] ... 47 more
原因: 在引入nacos-discovery时自动会引入ribbion,(项目 fhadmin.cn)但引入的版本与springcloud引入的openfeign版本不匹配导致异常
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
解决:
更换版本至匹配 , 以下是我用的版本
spring-cloud-alibaba-dependencies 2021.1
spring-boot-starter-parent 2.4.9
spring-cloud-dependencies 2020.0.3
相关推荐
spring cloud学习必备。初学者必备。可做开发参考。 spring cloud学习必备。初学者必备。可做开发参考。 spring cloud学习必备。初学者必备。可做开发参考。
如果在尝试修改XML文档的版本时遇到问题,可能会抛出错误,尤其是在不同版本的库之间进行升级或者有不兼容的API使用时。 解决这类问题的方法通常包括以下几个步骤: 1. **检查依赖**: 确保所有依赖项(如Apache ...
造成这个问题的主要原因是Mybatis和Spring的版本不兼容,导致了在事务管理方面的冲突。Mybatis和Spring都有自己的事务管理机制,但是在整合时,如果版本不兼容,可能会出现问题。 解决这个问题的方法是,首先需要...
`AbstractMethodError`通常意味着缺少了某个依赖或版本冲突。描述中提到的问题原因是缺少`xerces.jar`这个JAR包,它是Apache Xerces XML解析器的一部分,提供了对XML文档处理的功能,包括DOM(Document Object Model...
Spring+Jersey+Mybatis小实例,为了搭建这个折腾了两天,其中一天是因为jar包版本引起的,一直报异常:java.lang.AbstractMethodError: javax.ws.rs.core.UriBuilder.uri(Ljava/lang/String;)Ljavax/ws/rs/core/...
Lucene采用3.03版,太新版和 ik paoding不兼容。 ----------------------------------------- 极易分词只支持1.9-2.4版,未测试 IKAnalyzer分词 2012版不支持,采用3.2.8版 在使用2012版时异常:...
4. **兼容性**:正如压缩包描述所提到的,IKAnalyzer 2012_u6版本是为Lucene 3.6定制的,确保与该版本的Lucene无缝对接,解决了因版本差异可能导致的运行时错误。 在遇到`java.lang.AbstractMethodError`错误时,这...
java.lang.VerifyError 是一种验证错误,指的是在程序中验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出的异常。 34. java.lang.VirtualMachineError 虚拟机错误 java.lang.VirtualMachineError 是一种...
标题中的"Jackson 2.9.1"指的是一个流行的Java JSON处理库的特定版本,它在JSON序列化和反序列化方面提供了强大的功能。Jackson是Spring框架中常用来处理HTTP响应体,特别是当使用`@ResponseBody`注解时,它可以将...
MiMa可以报告二进制修改,这些修改可能导致JVM在运行时抛出java.lang.LinkageError (或其子类型之一,例如AbstractMethodError )。 链接错误通常是类/成员签名修改的结果。 MiMa比较了两个已发布库的所有类文件,...
Java异常处理是编程中至关重要的一个环节,它帮助开发者识别并修复程序运行时出现的问题。在Java中,异常被组织成一个层次结构,根类是`java.lang.Throwable`,它有两个主要的子类:`Error`和`Exception`。`Error`...
1. **下载驱动**:访问Oracle官方网站,获取最新版本的JDBC驱动,如`ojdbcXX.jar`(XX代表版本号)。 2. **引入驱动**:将下载的JDBC驱动复制到你的项目类路径中,这可以是项目的`lib`目录,或者如果你使用Maven或...
13. **抽象方法错误:AbstractMethodError** - 当应用试图调用一个抽象方法时,会抛出此异常,这通常意味着类加载问题或版本不兼容。 14. **断言错误:AssertionError** - 用于指示一个断言失败的情况,断言是一种...
这个bug是由Struts2上传文件后return SUCCESS后报的错误: java.lang.AbstractMethodError: be.telio.mediastore.ui.upload.GarryMultiPartRequest.cleanUp()V at org.apache.struts2.dispatcher.multipart....
这可能是因为编译错误、字节码被篡改或者不兼容的JVM版本。 以上只是Java异常处理中的一部分,完整的异常列表包括更多类别,如文件系统异常、网络异常、SQL异常等。在编写Java程序时,应尽量预测并处理可能出现的...
`Error`是所有错误的基类,表示严重的问题,通常是Java虚拟机或操作系统级别的问题,程序无法恢复。 #### 18. ExceptionInInitializerError - 初始化错误 当静态初始化块抛出异常,或者在执行静态初始化器之前类...
它们可能是由于类的编译或打包问题导致的。 了解和正确处理这些异常对于编写健壮的Java程序至关重要。在编程实践中,应遵循异常处理的最佳实践,如使用try-catch-finally语句块,以及适当地记录和处理异常,以提高...
- `VerifyError`:类文件验证失败,可能存在内部不兼容或安全问题。 了解这些异常并学会正确处理它们对于编写健壮的Java程序至关重要。通过使用try-catch块,可以捕获并处理特定类型的异常,从而防止程序意外终止...
Exception in thread "main" java.lang.AbstractMethodError: org.apache.lucene.analysis.TokenStream.incrementToken()Z at org.apache.lucene.index.DocInverterPerField.processFields(DocInverterPerField....