Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RESTEASY003145:找不到内容类型为application/json且类型为org.keydape.representations.AccessTokenResponse的MessageBodyReader_Java_Jackson_Resteasy_Keycloak - Fatal编程技术网

Java RESTEASY003145:找不到内容类型为application/json且类型为org.keydape.representations.AccessTokenResponse的MessageBodyReader

Java RESTEASY003145:找不到内容类型为application/json且类型为org.keydape.representations.AccessTokenResponse的MessageBodyReader,java,jackson,resteasy,keycloak,Java,Jackson,Resteasy,Keycloak,我正在尝试测试keydeporestapi。 安装了2.1.0.Final版。 我可以访问管理员通过浏览器与SSL没有问题 我正在使用上面的代码: Keycloak keycloakClient = KeycloakBuilder.builder() .serverUrl("https://keycloak.intra.rps.com.br/auth") .realm("testrealm") .username("development") .password("development") .

我正在尝试测试keydeporestapi。 安装了2.1.0.Final版。 我可以访问管理员通过浏览器与SSL没有问题

我正在使用上面的代码:

Keycloak keycloakClient = KeycloakBuilder.builder()
.serverUrl("https://keycloak.intra.rps.com.br/auth")
.realm("testrealm")
.username("development")
.password("development")
.clientId("admin-cli")
.resteasyClient(new ResteasyClientBuilder().connectionPoolSize(10).build())
.build();
List<RealmRepresentation> rr = keycloakClient.realms().findAll();
我添加了上述依赖项,但没有解决我的问题:

    <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-client</artifactId>
            <version>3.0.19.Final</version>
    </dependency>
    <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-jackson-provider</artifactId>
            <version>3.0.19.Final</version>
    </dependency>

org.jboss.resteasy
resteasy客户端
3.0.19.1决赛
org.jboss.resteasy
resteasy jackson提供商
3.0.19.1决赛
有什么线索吗?

我解决了!!
您必须将org.jboss.resteasy.plugins.providers.jackson.ResteasyJacksonProvider添加到META-INF/services/javax.ws.rs.ext.providers文件中,然后运行您的可执行jar。

我使用依赖项解决了这个问题

   <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson2-provider</artifactId>
        <version>3.1.0.Final</version>
    </dependency>

org.jboss.resteasy
resteasy-jackson2-provider
3.1.0.1最终版本

或者,如果使用代理创建客户端,则最好在以下操作之前初始化提供程序工厂:

    ResteasyProviderFactory instance=ResteasyProviderFactory.getInstance();
    RegisterBuiltin.register(instance);
    instance.registerProvider(ResteasyJackson2Provider.class);
添加“为我做什么”会导致以下警告:

WARN: RESTEASY002155: Provider class org.jboss.resteasy.plugins.providers.jackson.ResteasyJackson2Provider is already registered.  2nd registration is being ignored.
可能只需添加依赖项即可自动注册提供程序:

    <dependency>
        <groupId>org.jboss.resteasy</groupId>
        <artifactId>resteasy-jackson2-provider</artifactId>
        <version>${resteasy.version}</version>
    </dependency>

org.jboss.resteasy
resteasy-jackson2-provider
${resteasy.version}
我有问题,这就指出了。我用maven shade插件和Transforms标签解决了这个问题。也许这对某人有帮助

 <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>3.2.0</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/*.SF</exclude>
                                    <exclude>META-INF/*.DSA</exclude>
                                    <exclude>META-INF/*.RSA</exclude>
                                </excludes>
                            </filter>
                        </filters>
                        <transformers>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                <manifestEntries>
                                    <Main-Class>de.example.MainClass</Main-Class>
                                    <X-Compile-Source-JDK>1.8</X-Compile-Source-JDK>
                                    <X-Compile-Target-JDK>1.8</X-Compile-Target-JDK>
                                </manifestEntries>
                            </transformer>
                            <transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
                                <resource>META-INF/services/javax.ws.rs.ext.Providers</resource>
                            </transformer>
                        </transformers>
                        <artifactSet/>
                        <outputFile>${project.build.directory}/${project.artifactId}-${project.version}-fat.jar</outputFile>
                    </configuration>
                </execution>
            </executions>
        </plugin>

org.apache.maven.plugins
maven阴影插件
3.2.0
包裹
阴凉处
*:*
META-INF/*.SF
META-INF/*.DSA
META-INF/*.RSA
de.example.main类
1.8
1.8
META-INF/services/javax.ws.rs.ext.Providers
${project.build.directory}/${project.artifactId}-${project.version}-fat.jar

在wildfly 11/KeyClope上下文中,以下内容使其与
RestEasyClientBuilder
一起工作

ResteasyClientBuilder builder = new ResteasyClientBuilder();
ResteasyProviderFactory providerFactory = ResteasyProviderFactory.getInstance();
builder.providerFactory(providerFactory);
再次检查Resteasy版本是否默认为
true
。如果没有,请手动设置内置项:

ResteasyProviderFactory.setRegisterBuiltinByDefault(true);
// or if ResteasyProviderFactory was already instantiated
RegisterBuiltin.register(providerFactory);

在我的例子中,我将根本问题追溯到切换到
CompletableFuture

所使用的客户机版本可能已经过时或是其他什么东西,当它在eclipse中工作时,从外部可执行文件中崩溃,并出现此错误


我可能会发布一个修复程序,但它要么是:更新库,要么停止在此库上使用CompletableFuture。

您解决了吗?我收到了同样的信息…你解决了吗?可能重复或org.jboss.resteasy.plugins.providers.jackson.resteasyjackson2provider使用maven时你有解决方案吗?同样的问题。我已经在pom中添加了resteasy-jackson2-provider,但仍然存在这个问题。你的答案的第一部分救了我一周。非常感谢!如果可能的话,也可以从Resteasy切换到其他功能
ResteasyProviderFactory.setRegisterBuiltinByDefault(true);
// or if ResteasyProviderFactory was already instantiated
RegisterBuiltin.register(providerFactory);