我有一个工作的 Spring Boot 应用程序。我更改了应用程序以从 Spring Cloud Config 服务器读取其配置。我在 pom 中添加了 bootstrap.properties 和以下依赖项:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
spring cloud的版本是2020.0.4。该应用程序成功地从配置服务器检索其配置。但是,端点失败并出现以下错误:
in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.NoSuchMethodError: 'void javax.ws.rs.core.MultivaluedMap.addAll(java.lang.Object, java.lang.Object[])'] with root cause
java.lang.NoSuchMethodError: 'void javax.ws.rs.core.MultivaluedMap.addAll(java.lang.Object, java.lang.Object[])'
我已经在调试模式下运行启动应用程序以查看 Tomcat 类路径是什么。在添加 Spring Cloud Config 之前,只有
jakarta.ws.rs-api-2.1.6.jar
在类路径上。但是在添加配置服务器依赖项后
jsr311-api-1.1.1.jar
出现在 Jakarta 库之前的 Tomcat 类路径上,因此会发生这种情况。
我不确定为什么向我的 pom 添加 Spring Cloud Config 依赖项并添加属性文件会导致对类路径的添加。
我正在使用 mvn spring-boot:run 运行/构建应用程序。
我该如何解决这个问题?
更新:似乎jsr311-api-1.1.1.jar
被拉进来了spring-cloud-starter-netflix-eureka-client
谢谢你。