java - 在 Spring Boot 中导入 jboss ResteasyClient 会阻止它启动
问题描述
我们正在设置一个由 Keycloak 身份验证服务器备份的 Spring Boot (v2.0.5) 服务器应用程序。
Keycloak 提供了一些 Java Admin API (keycloak-admin-client),不幸的是,它需要 org.jboss.resteasy.resteasy-client 包中的 ResteasyClient 作为依赖项。
但是,如果我将此依赖项添加到 POM
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.6.1.Final</version>
</dependency>
当服务器启动时,我最终遇到以下错误:
org.springframework.beans.factory.BeanCreationException:在类路径资源[org/springframework/boot/autoconfigure/jsonb/JsonbAutoConfiguration.class]中定义名称为“jsonb”的bean创建错误:通过工厂方法进行bean实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [javax.json.bind.Jsonb]:工厂方法 'jsonb' 抛出异常;嵌套异常是 javax.json.bind.JsonbException: JSON Binding provider org.eclipse.yasson.JsonBindingProvider not found
我真的不知道如何解决这个错误。有任何想法吗?
编辑:添加我在 POM 中添加的 Keycloak 相关依赖项:
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-admin-client</artifactId>
<version>4.4.0.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.6.1.Final</version>
</dependency>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.keycloak.bom</groupId>
<artifactId>keycloak-adapter-bom</artifactId>
<version>${keycloak.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
解决方案
好的,我想我终于找到了解决方案。
我的 POM 中需要更多依赖项,完整列表是:
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-client</artifactId>
<version>3.6.1.Final</version>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>javax.json</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>org.eclipse</groupId>
<artifactId>yasson</artifactId>
<version>1.0.1</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jaxrs</artifactId>
<version>3.6.1.Final</version>
</dependency>
<dependency>
<groupId>org.jboss.resteasy</groupId>
<artifactId>resteasy-jackson2-provider</artifactId>
<version>3.6.1.Final</version>
</dependency>
推荐阅读
- javascript - 重试时编辑查询字符串参数
- git - git 子模块总是分离的,即使在跟踪分支时
- asp.net-core - 为 asp.net core MVC 2.2 保存的 Sqlite 数据库在哪里?
- wordpress - wordpress 离线编辑主题
- iis - 在 IIS 下运行 ASP.Net Core 时的 AppPool Identity?
- php - 在php的foreach循环中搜索动态键值
- .net - PowerShell - 我怎样才能 Reflection.Emit 正确的 IL OpCodes 来调用 [String]::Join in a DynamicMethod?
- c++ - C ++中“__declspec(dllexport)类class_name”和“class __declspec(dllexport)class_name”有什么区别
- c# - C# 中是否有基于事件的非阻塞多线程 HTTP 请求系统
- python - 如何获取绑定方法的定义类?