一.问题描述
如题,单独启动eureka server是正常的,当启动微服务模块,把服务注册到eureka上时报错。
我的微服务模块pom依赖如下:
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
</dependencies>
微服务模块配置文件:
eureka.client.service-url.defaultZone=http://localhost:8000/eureka
项目总pom如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<!--父pom中标识spring cloud版本号-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
二.问题解决
在Stack Overflow上看到一个相似的问题:
https://stackoverflow.com/questions/28217891/java-lang-classnotfoundexception-org-apache-http-config-registrybuilder
推测我的也可能是D:\D1\java\maven\repo\org\apache\httpcomponents下的依赖包出现了问题
根据文件修改日期的时间判断eureka的使用应该调用了以下包
把这几个文件夹删除后重新引入微服务模块的pom依赖,和eureka server的pom依赖
在此启动微服务,问题解决了
16:31:17.183- INFO 38700 --- [ main]com.netflix.discovery.DiscoveryClient :Getting all instance registry info from the eureka server
16:31:17.460- INFO 38700 --- [ main]com.netflix.discovery.DiscoveryClient :The response status is 200
16:31:17.462- INFO 38700 --- [ main]com.netflix.discovery.DiscoveryClient :Starting heartbeat executor: renew interval is: 30
16:31:17.465- INFO 38700 --- [ main]c.n.discovery.InstanceInfoReplicator :InstanceInfoReplicator onDemand update allowed rate per min is 4
16:31:17.470- INFO 38700 --- [ main]com.netflix.discovery.DiscoveryClient :Discovery Client initialized at timestamp 1628843477468 with initial instances count: 0
16:31:17.472- INFO 38700 --- [ main]o.s.c.n.e.s.EurekaServiceRegistry :Registering application COURSE-LIST with eureka with status UP
16:31:17.472- INFO 38700 --- [ main]com.netflix.discovery.DiscoveryClient :Saw local status change event StatusChangeEvent [timestamp=1628843477472, current=UP, previous=STARTING]
16:31:17.475- INFO 38700 --- [nfoReplicator-0]com.netflix.discovery.DiscoveryClient :DiscoveryClient_COURSE-LIST/LAPTOP-LMMPH4VI:course-list:8080: registering service...
16:31:17.523- INFO 38700 --- [ main]o.s.b.w.embedded.tomcat.TomcatWebServer :Tomcat started on port(s): 8080 (http) with context path ''
16:31:17.524- INFO 38700 --- [ main].s.c.n.e.s.EurekaAutoServiceRegistration :Updating port to 8080
16:31:17.567- INFO 38700 --- [nfoReplicator-0]com.netflix.discovery.DiscoveryClient :DiscoveryClient_COURSE-LIST/LAPTOP-LMMPH4VI:course-list:8080 - registration status: 204
16:31:19.133- INFO 38700 --- [ main]com.fanyu.course.CourseListApplication :Started CourseListApplication in 13.313 seconds (JVM running for 14.906)