记一次Eureka启动报Failed to start bean 'eurekaAutoServiceRegistration' 。。。错误
在一次项目迁移的过程中,新导入了两个依赖,结果项目启动就报错,如下:

主要原因是:Failed to start bean 'eurekaAutoServiceRegistration'; nested exception is java.lang.NullPointerException,我的理解是初始化失败了,这种涉及到框架的错误一出现,一开始确实没有头绪,也参考了网上的资料,主要如下:
- 有把原因归咎于引入了fastjson导致的,项目中确实是引入了fastjson,但是将其依赖去除之后依然报错,所以这个方法对我无效;
- 也有说是未引入Jackson或者版本不对,但是这很模糊,是什么版本不对?并没有说清楚;
其实这里问题的出现是由于我新引入的了两个依赖导致的,这是排查问题的源头,我们排查问题时不能没有思路,要顺藤摸瓜,追根溯源,一步一步来定位问题。我引入的依赖如下:
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.2.1</version>
</dependency>
这是两个httpcompoents包,是由于项目中需要发起https请求引入的,怎么引入这个依赖就会导致冲突呢?
maven依赖规则里面有两条分别是:
- 声明优先原则,在pom.xml配置文件中,如果有两个名称相同版本不同的依赖声明,那么先写的会生效。 所以,先声明自己要用的版本的jar包即可;
- 路径近者优先,直接依赖优先于传递依赖,如果传递依赖的jar包版本冲突了,那么可以自己声明一个指定版本的依赖jar,即可解决冲突;
其中从第二条,我的理解是以路径最近的为准,这里路径最近的就是我新引入的这两个依赖,那是否是eureka也有依赖httpcomponents,但是根据路径近者优先原则,eureka启动时主动依赖新的这两个包,但是这两个包版本可能和eureka不兼容,从而启动失败?好,那就来验证一下:
看项目依赖我平时常用的是直接把项目的依赖树打出来,直接看,这样比较全面。Windows 10 系统下进入cmd命令窗口,在项目根目录下输入如下指令(电脑上需安装了maven):
mvn dependency:tree
打印出来的依赖树如下(截取了部分):

看到了吗,eureka确实引入了httpcomponents两个包,而且版本号高于我自己引入的,应该是版本号不兼容导致启动报错,所以我把自己引入的两个包版本号改了一下,结果确实成功启动了。
到这里问题已经解决了,特此记录一下
参考文献:
Failed to start bean 'eurekaAutoServiceRegistration'
Can't use @EnableEurekaClient to register config server with Eureka
记一次Eureka启动报Failed to start bean 'eurekaAutoServiceRegistration' 。。。错误的更多相关文章
- spring Boot启动报错Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes
spring boot 启动报错如下 org.springframework.context.ApplicationContextException: Unable to start web serv ...
- Intellij IDEA中Springboot启动报Command line is too long错误
启动报错:Error running 'CmsFrontApplication': Command line is too long. Shorten command line for CmsFron ...
- Spring-boot2.0.1.BUILD-SNAPSHOT整合Elasticsearch报failed to load elasticsearch nodes错误解决办法
spring-boot整合es的application.properties的默认配置为: spring.data.elasticsearch.cluster-nodes=localhost:9200 ...
- 记一次Tomcat启动报错Failed to start component [StandardEngine[Catalina].Standard
今天启动项目的时候,发现tomcat一直报错,之前都一直没有问题的啊,提示 org.apache.catalina.LifecycleException: Failed to start ...
- Eureka启动报错:Failed to load property source from location 'classpath:/application.yml'
原因: 将application.yml添加到classpath时, 由于变更了application.yml的编码格式(或许也改变了些代码内容), 而target内的yml文件没有实时更新, 从而导 ...
- 记一次sshd启动报错,Failed to start OpenSSH server daemon.
sshd -t [root@mysql5-slave proj]# sshd -t @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ ...
- Spring Cloud和eureka启动报错 解决版本依赖关系
导读 An attempt was made to call a method that does not exist. The attempt was made from the following ...
- eclupse启动报 Failed to load JavaHL Library.错
解决办法: window --> preferences --> Team --> SVN --> Client选项选择: SVNKit x.x.x.xxx
- 关于oracle数据库启动报ORA-01122,ORA-01110,ORA-01203错误的解决方法
ORACLE 数据库空间裸设备出问题了,启动oracle失败,解决方法问题现象: 启动ORACLE的时候报如下的错误: Database mounted. ORA-01 ...
随机推荐
- MySql由于编码问题,存储过程执行出错。
在存储过程后面加了一段话.红色部分 DELIMITER $$ USE `mysql_wispeed01-test1`$$ DROP PROCEDURE IF EXISTS `sp_crebillno` ...
- 3dmax 3dmax计算机要求 3dmax下载
渲染首先是要X64兼容台式电脑,笔记本不行,笔记本就是学生拿来玩还行,渲染大图笔记本真的是发热. 配置一般的电脑和笔记本千万不要尝试安装3dmax2019了,很卡的,3dmax2019只有64位,没有 ...
- 使用SQL-Front启动MySQL8.0报错
这学期学习数据库,电脑上分别装有phpStudy(自带的MySQL版本为5.5)和MySQL8.0.11,于是想用phpStudy中的SQL Front连接到8.0的数据库.手动开启8.0的MySQL ...
- matplotlia应用
一.简单使用 使用函数 plt.polt(x,y,label,color,width) 根据x,y 数组 绘制直,曲线 import numpy as np #引用numpy库,从新命名它为np(以后 ...
- [jzoj]3468.【NOIP2013模拟联考7】OSU!(osu)
Link https://jzoj.net/senior/#main/show/3468 Description osu 是一款群众喜闻乐见的休闲软件. 我们可以把osu的规则简化与改编成以下的样子: ...
- TypeError: a bytes-like object is required, not 'str'
python bytes和str两种类型转换的函数encode(),decode() str通过encode()方法可以编码为指定的bytes 反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数 ...
- mysql学习2
1.视图 视图是一个虚拟表(非真实存在),其本质是[根据sql语句获取动态的数据集,并为其命名],用户使用时只需要使用[名称]即可获取结果集,并可以将其当作表来使用. 搜索临时表 SELECT * F ...
- CSS content换行实现字符点点点loading效果
CSS代码如下: dot { display: inline-block; height: 1em; line-height: 1; text-align: left; vertical-align: ...
- Centos服务器上NFS灾备环境及KVM的搭建及使用
1.概述 由于在单台服务器上搭建灾备环境需要KVM和NFS的支持,下面先列出KVM的搭建流程,再列出使用NFS实现单台服务器灾备的流程. A.搭建KVM环境 1>.主机环境准备 Linux Sy ...
- ASP.NET MVC 网页应用 action 传递的Model
视图界面 @using {引用模型} @model {具体模型} <html> @Model.{具体模型的属性} </html> 注意区分Model的大小写 引入时,使用@mo ...