当前位置: 首页 > 知识库问答 >
问题:

在spring boot导入jboss ResteasyClient会阻止它启动

方野
2023-03-14

我们正在设置一个由Keycloak身份验证服务器备份的spring boot(V2.0.5)服务器应用程序。

Keycloak提供了一些Java管理API(keycloak-admin-client),不幸的是,这些API需要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'的html" target="_blank">bean时出错:通过工厂方法实例化bean失败;嵌套异常为org.springframework.beans.BeanInstantiationException:无法实例化[javax.json.bind.jsonB]:工厂方法'jsonB'引发异常;嵌套异常是javax.JSON.bind.JsonBException:找不到JSON绑定提供程序org.eclipse.yasson.JsonBindingProvider

我真不知道怎么解决这个错误。有什么想法吗?

编辑:添加我在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>

共有1个答案

熊博远
2023-03-14

好吧,我想我终于找到解决办法了。

我需要更多的依赖项在我的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>
 类似资料:
  • 问题内容: Ajax使用回调,因为它是同步的。 我希望对远程URL块的调用直到出现一些答案为止 ,就像在Ajax中一样,但是没有异步部分,或者我要说要进行JAX调用。 是否有任何技术可以使以下事情发生(使用JQuery)(…使用JQuery或其他解决方案): 我只是想知道-想学习。 实际上,有时会阻塞直到回复合适为止。我并不是说要浏览器阻止,而只是脚本运行时。 问题答案: 您可以在使用jQuery

  • 问题内容: 我有下一个代码: par.go 我用next运行它: 然后,确认此过程中有多少个线程: 您可以看到有5个线程。 如果我更改in代码的值,那么接下来的情况是: 我知道,去调度的后续机型,在这里,所以,是有(内核线程)。如果任何goroutine处于任何阻塞状态,则它们将从current脱离,并找到一个空闲的或新的if(如果找不到)。 所以,我的问题是:真的在阻止goroutine吗?如果

  • 我在本地主机上用Spring Boot配置了一个api。我的Spring Boot控制器应该允许CORS请求,因为我正在使用@CrossOrigin: 当使用Postman/cURL测试时,一切都工作正常(但cURL不关心CORS策略...)。现在,我正试图使用axios从我的反应应用程序中访问重新来源“http://localhost:8081/api/images”。我得到以下响应头,它确定请

  • 我正在将一个INSERT写入一个DB2表,该表使用我插入的记录作为触发器,并被指控是锁定文件和阻止触发器工作的罪魁祸首。 目前,我可以编写记录,但它会挂起我的应用程序,并且我没有从DB2数据库得到任何响应。(尽管它确实写了!)。 我被告知我可能正在使用“更新模式”写作,但除了没有实际设置任何模式之外,我没有做任何具体的事情: 我只能猜测我的应用程序挂起的原因,其中一个猜测是没有在INSERT语句上

  • 我的中有一个模块,如下所示: module.py 我稍后使用调用此脚本。这个脚本大部分时间都可以工作,但我发现我被CD到了一个目录中,其中有一个文件夹,里面有,Python更喜欢这个文件夹,而不是我的中的其他模块。我认为这是因为Python将文件夹视为一个隐式的、相对的导入(我使用的是Python2.7)。 如何使Python不将$pwd中的文件夹视为隐式相对导入? 和我使用的每个其他模块都包含了

  • 我不知所措。我有一个阻塞请求 此代码通常会阻塞<code>队列。takeFirst()当队列中没有项目时。但是,一旦我按预期添加了项目,它就不会解除阻止。调试时,我可以看到中的项目,并且当我停止Tomcat时,我会序列化。启动后,我将对队列进行反序列化,并在那一点上对<code>队列进行反串行化。takeFirst()检索项目(与之前未检索的相同)并提交它。 有人有什么想法吗? 编辑 再强调一下我