使用 Jersey 客户端升级 Spring Boot 3:ClassCastException:尝试强制转换 jar:文件:

问题描述 投票:0回答:1

我正在将我的 java spring boot 应用程序升级到 spring boot 3。

我将 org.glassfish.jersey.core:jersey-client 从版本 2 升级到 3.1.3,使用 jakarta 而不是 javax 包。

问题是我的依赖项之一使用旧包“javax”,例如下图是失败的代码: ClientBuilder.newBuilder():

有什么解决方案可以强制该包使用 jakarta 或者我必须自己实现 api 并升级它?

谢谢您的帮助!

这是我启动应用程序时的错误:

Caused by: java.lang.LinkageError: ClassCastException: attempting to castjar:file:

/C:/Users/QOV3783/.gradle/caches/modules-2/files-2.1/javax/javaee-api/8.0.1/515a40c1f19802a18a187f59bfbe445a62218a04/javaee-api-8.0.1.jar!/javax/ws/rs/client/ClientBuilder.class 

to jar:file:

/C:/Users/QOV3783/.gradle/caches/modules-2/files-2.1/javax/javaee-api/8.0.1/515a40c1f19802a18a187f59bfbe445a62218a04/javaee-api-8.0.1.jar!/javax/ws/rs/client/ClientBuilder.class
spring-boot jersey apache-nifi java-17 jersey-client
1个回答
0
投票

我使用的软件包是nifi-registry-client:https://mvnrepository.com/artifact/org.apache.nifi.registry/nifi-registry-client

我的解决方案是我必须实现我在代码中使用的所有方法,并自行将所有javax错误升级为jarkata。

© www.soinside.com 2019 - 2024. All rights reserved.