简体   繁体   English

org/glassfish/jersey/jackson/JacksonFeature 未在我的 rest API 中定义

[英]org/glassfish/jersey/jackson/JacksonFeature is not defined in my rest API

I have created a small REST API which seems to work just fine.我创建了一个小的 REST API,它似乎工作得很好。 I wanted to use the Twitter API and display some tweets.我想使用 Twitter API 并显示一些推文。 But when I try to do that my server throws an error.但是当我尝试这样做时,我的服务器会引发错误。

Reaching one of my old resources works just fine when trying this URL: http://localhost:8080/api-mashup-api/api/v1/foo/bar :尝试此 URL 时,访问我的旧资源之一效果很好: http://localhost:8080/api-mashup-api/api/v1/foo/bar

    @GET
    @Path("/bar")
    @Produces(MediaType.TEXT_HTML)
    public String print2() {
        return "This should be printed if in foo/bar";
    }

But If I try my "twitter method" at http://localhost:8080/api-mashup-api/api/v1/foo/twitter :但是,如果我在http://localhost:8080/api-mashup-api/api/v1/foo/twitter尝试我的“推特方法”:

    @GET
    @Path("/twitter")
    @Produces(MediaType.TEXT_HTML)
    public String print5() {
        //I have my real tokens here of course.
        ClientIdentifier ci = new ClientIdentifier("clientID",
                "ClientSecret");

        OAuth2CodeGrantFlow flow = OAuth2ClientSupport
                .authorizationCodeGrantFlowBuilder(ci,
                "https://api.twitter.com/oauth2/token", "https://api.twitter.com/oauth2/token")
                .scope("contact")
                .build();

        String finalAuthorizationUri = flow.start();

        return "This is the bearer: " + finalAuthorizationUri.toString();
    }

It throws the following error:它引发以下错误:

 HTTP Status 500 - org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/JacksonFeature

In reality it should just print my bearer token.实际上,它应该只打印我的不记名令牌。 I have tried importing various jackson jar files but not managed to get it working.我曾尝试导入各种 jackson jar 文件,但未能使其正常工作。 I might add that I use Tomcat v8 and not Glassfish server.我可能会补充说我使用 Tomcat v8 而不是 Glassfish 服务器。

You are missing a jar, specifically jersey-media-json-jackson-2.XX.jar (where XX is the version of jersey that you are using)您缺少一个 jar,特别是 jersey-media-json-jackson-2.XX.jar(其中 XX 是您使用的球衣版本)

you can add the maven dependency like:您可以添加 Maven 依赖项,例如:

<!-- https://mvnrepository.com/artifact/org.glassfish.jersey.media/jersey-media-json-jackson -->
<dependency>
    <groupId>org.glassfish.jersey.media</groupId>
    <artifactId>jersey-media-json-jackson</artifactId>
    <version>2.26</version>
</dependency>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 REST API球衣Glassfish不序列化json - REST API jersey Glassfish do not serialize json REST API的Maven依赖关系-泽西岛-Glassfish吗? - Maven dependencies for REST API - Jersey - Glassfish or not? 引起:java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier - Caused by: java.lang.NoClassDefFoundError: org/glassfish/jersey/jackson/internal/jackson/jaxrs/cfg/ObjectWriterModifier 无法解析类型[org.glassfish.jersey.message.filtering.spi.ObjectProvider的所有bean。 <com.fasterxml.jackson.databind.ser.FilterProvider> ] - Unable to resolve any beans for Types [org.glassfish.jersey.message.filtering.spi.ObjectProvider<com.fasterxml.jackson.databind.ser.FilterProvider>] org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException - org.glassfish.jersey.servlet.ServletContainer ClassNotFoundException ClassNotFoundException:org.glassfish.jersey.servlet.ServletContainer - ClassNotFoundException: org.glassfish.jersey.servlet.ServletContainer org.glassfish.jersey.internal.RuntimeDelegateImpl 未找到 - org.glassfish.jersey.internal.RuntimeDelegateImpl NOT FOUND java.lang.NoSuchMethodError: org.glassfish.hk2.api.ServiceLocatorFactory.creat - Jersey - java.lang.NoSuchMethodError: org.glassfish.hk2.api.ServiceLocatorFactory.creat - Jersey org.glassfish.jersey.core getValue()方法 - org.glassfish.jersey.core getValue() method 在 Eclipse 中添加 org.glassfish.jersey.archetypes - Adding org.glassfish.jersey.archetypes in eclipse
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM