Импорт jboss ResteasyClient в Spring Boot предотвращает загрузку - PullRequest
0 голосов
/ 19 сентября 2018

Мы настраиваем серверное приложение Spring Boot (v2.0.5), резервное копирование которого выполняется сервером авторизации Keycloak.

Keycloak предоставляет некоторый API-интерфейс Java Admin (keycloak-admin-client), который, к сожалению, требует в качестве зависимости ResteasyClient, найденный в пакете org.jboss.resteasy.resteasy-client.

Однако если ядобавьте эту зависимость в POM как

<dependency>
    <groupId>org.jboss.resteasy</groupId>
    <artifactId>resteasy-client</artifactId>
    <version>3.6.1.Final</version>
</dependency>

При запуске сервера я получаю следующую ошибку:

org.springframework.beans.factory.BeanCreationException: Ошибка при создании bean-компонентас именем 'jsonb', определенным в ресурсе пути к классу [org / springframework / boot / autoconfigure / jsonb / JsonbAutoConfiguration.class]: не удалось создать экземпляр компонента с помощью метода фабрики;вложенным исключением является org.springframework.beans.BeanInstantiationException: не удалось создать экземпляр [javax.json.bind.Jsonb]: фабричный метод 'jsonb' вызвал исключение;Вложенное исключение - javax.json.bind.JsonbException: поставщик JSON Binding org.eclipse.yasson.JsonBindingProvider не найден

Я действительно не знаю, как решить эту ошибку.Есть идеи?

РЕДАКТИРОВАТЬ: Добавление зависимостей Keycloak, которые я добавил в POM:

<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 Ответ

0 голосов
/ 19 сентября 2018

Хорошо, я думаю, что наконец нашел решение.

Мне нужно больше зависимостей в моем 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>
...