spring-cloud搭建踩坑--eureka

spring-cloud搭建-eureka

1、搭建过程中遇到java.lang.NoSuchMethodError: com.google.gson.GsonBuilder.setLenient()Lcom/google/gson/GsonBuilder;

    最后定位是由于直接使用spring-cloud的Finchley.RELEASE作为版本,这里默认使用的是spring-boot的2.0.3,会出现此问题,手动指定spring-boot的版本,即加入以下内容后,不会出现GsonBuilder错误。(详细原因未深究,欢迎各位大神评论中支持,谢谢)

 
    org.springframework.boot
    spring-boot-starter-parent
    2.1.3.RELEASE
     
  

2、添加后,再次启动spring-boot工程,会出现com.sun.jersey.api.client.ClientHandlerException: java.net.ConnectException: Connection refused: connect错误,这里是由于eureka默认会把自己也注册到自己 Eureka Server上,并且获取 Eureka Server上的注册信息,所以在配置里添加如下内容

eureka:
    client:
        #表示是否将自己注册到Eureka Server上,默认为true
        registerWithEureka: false
        #表示是否从Eureka Server上获取注册信息,默认为true
        fetchRegistry: false
        serviceUrl:
            defaultZone: http://localhost:8761

3、打开浏览器后,输入 http://localhost:8761/,即可访问到eureka监控页面。

spring-cloud搭建踩坑--eureka_第1张图片

工程所有配置和类文件如下:

pom.xml




  4.0.0

  com.eurekatest
  springeureka
  1.0-SNAPSHOT
  jar

  springeureka Maven Webapp
  
  http://www.example.com

  
  
    org.springframework.boot
    spring-boot-starter-parent
    2.1.3.RELEASE
     
  

  
    UTF-8
    1.7
    1.7
    
    Finchley.RELEASE
  

  
    
      junit
      junit
      4.11
      test
    

    
      org.springframework.cloud
      spring-cloud-starter
    

    
    
      org.springframework.cloud
      spring-cloud-starter-netflix-eureka-server
    

  

  
    
      
        org.springframework.cloud
        spring-cloud-dependencies
        ${spring-cloud.version}
        pom
        import
      
    
  


  
    springeureka
    
      
        
          org.springframework.boot
          spring-boot-maven-plugin
          
          
            
            true
          
        

      
    
  

application.yml

spring:
  application:
    name: spring-cloud-eureka-server
server:
  port: 8761
eureka:
  client:
    #表示是否将自己注册到Eureka Server上,默认为true
    registerWithEureka: false
    #表示是否从Eureka Server上获取注册信息,默认为true
    fetchRegistry: false
    serviceUrl:
      defaultZone: http://localhost:8761

 

EurekaApplication.java
package com.test.register.center;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer
public class EurekaApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaApplication.class);
    }

}

 

 

你可能感兴趣的