java - 使用 Netflix Eureka 的 JSONException

标签 java tomcat7 spring-boot json netflix-eureka

我是 Netflix Eureka 和 SpringBoot 的新手。我构建了一个非常简单的 Eureka 服务器和客户端,以便了解它们如何在发现方面取得进展。当我转到 localhost:8761/时看到 UI 时,Eureka 服务器正常加载自身

我正在使用 Eclipse 的 Tomcat 运行这两个实例。

我构建的 Eureka 客户端没有代码,因为它只运行带有适当注释的 SpringBoot 应用程序。关于 Eureka 服务器的相同内容。

当我运行客户端时,在运行服务器之后,我得到以下堆栈。我跑遍了网络以获取一些解释,但没有找到任何解释。您知道是什么导致了这些 JSONObject 异常吗?

服务器端堆栈:http://pastebin.ca/2968955

客户端堆栈:http://pastebin.ca/2968957

这是我的代码:

EurekaServer.java :

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

@SpringBootApplication
@EnableEurekaServer
public class EurekaServer {
		public static void main( String[] args ) {
    	    SpringApplication.run(EurekaServer.class, args);
    }
}

EurekaServer 的 application.yml :

spring:
  application:
    name: EurekaServer

server:
  port: 8761

eureka:
  instance:
    hostname: localhost
  client:
    registerWithEureka: false
    festRegistry: false
    serviceUrl:
      defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

EurekaClientApp.java :

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication
@EnableEurekaClient
@RestController
public class EurekaClientApp {
	public static void main(String[] args) {
		SpringApplication.run(EurekaClientApp.class, args);
	}
}

EurekaClient 的 Application.yml :

spring:
  application:
    name: EurekaClient
    
eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/
    registerWithEureka: true
    fetchRegistry: false
  instance:
    leaseRenewalIntervalInSeconds: 10
    metadataMap:
      instanceId: ${spring.application.name}:${spring.application.instance_id:${random.value}}

server:
  port: 8188

eureka-client.properties :

eureka.port=8188
eureka.vipAddress=productservice.mydomain.net
eureka.preferSameZone=true
eureka.shouldUseDns=false
eureka.availabilityZones=default
eureka.serviceUrl.defaultZone=http://localhost:8761/eureka/

最佳答案

因此,在尝试通过修改代码使其工作失败几个小时后,我查看了 pom.xml 文件,并删除了附加到应用程序这一部分的依赖项。我把它们一个一个地放回去,验证它会做的修改,我发现我对 eureka 有错误的依赖,因为我替换了我有的那个,例如com.netflix.eureka 由springboot提供的,例如spring-cloud-starter-eureka.

关于java - 使用 Netflix Eureka 的 JSONException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29494149/

相关文章:

java - 如何使用 AudioManager 使听筒静音?

java - 在 Tomcat Apache Web 服务器上安装通配符 SSL 证书(由 Comodo 提供)

java - SpringBoot : Configurable @Qualifier to select bean

java - 错误 java.lang.NoClassDefFoundError : com. github.difflib.text.DiffRowGenerator$$Lambda$0

java - jpa hibernate @transactional 配置

jakarta-ee - 在 Tomcat 7 中使用 Web 套接字

java - 在 apache tomcat 中部署除 webapp 文件夹以外的 Web 应用程序

java - Spring R2DBC DatabaseClient.as(…)

java - 使用 @TestPropertySource 正确定义测试属性的路径 (Spring Boot 2)

java - 如何反序列化与我的 Java 类同名的嵌套 JSON 对象