【问题标题】:How to produce JSON output with Jersey 1.17.1 using JAXB如何使用 JAXB 使用 Jersey 1.17.1 生成 JSON 输出
【发布时间】:2013-09-09 21:40:18
【问题描述】:

这个问题已经在这个网站上有一个正确的答案。问题是question is for Jersey 1.6the correct answer for Jersey 1.17.1 被埋在了底部。我想我会为这个答案创建一个正确的问题,这样就可以更容易地为那些在这个问题上苦苦挣扎的人找到帮助(就像我一样)。

【问题讨论】:

    标签: rest jaxb jersey jackson jersey-1.0


    【解决方案1】:

    首先,您需要将其添加到您的 web.xml:

    <servlet>
        <servlet-name>JerseyServlet</servlet-name>
        <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>com.sun.jersey.api.json.POJOMappingFeature</param-name>
            <param-value>true</param-value>
        </init-param>
    

    然后,获取您想要通过网络进行序列化的任何类,并将此注释添加到它们的顶部:

    import javax.xml.bind.annotation.XmlRootElement;
    @XmlRootElement
    public class ...
    

    然后将适当的 jar 添加到类路径中。仅添加 Jersey jars 是不够的,您还需要添加 jackson。我下载了包含 12 个不同 jar 的 zip。一旦我将所有 12 个 jars 添加到我的类路径中,我终于摆脱了错误并且返回 JSON 效果很好。

    我希望这对某人有所帮助。

    下载带有 12 个罐子的 Zip: 这是包含 12 个 jar 文件的 zip 文件的链接:jersey-archive-1.17.zip

    对于 Maven 用户: 将以下内容添加到您的 pom.xml 以分别获取 12 个罐子:

        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-servlet</artifactId>
            <version>1.17.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-client</artifactId>
            <version>1.17.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-json</artifactId>
            <version>1.17.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-core</artifactId>
            <version>1.17.1</version>
        </dependency>
        <dependency>
            <groupId>com.sun.jersey</groupId>
            <artifactId>jersey-server</artifactId>
            <version>1.17.1</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-core-asl</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-mapper-asl</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-jaxrs</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jackson</groupId>
            <artifactId>jackson-xc</artifactId>
            <version>1.9.2</version>
        </dependency>
        <dependency>
            <groupId>org.codehaus.jettison</groupId>
            <artifactId>jettison</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
            <groupId>javax.ws.rs</groupId>
            <artifactId>jsr311-api</artifactId>
            <version>1.1.1</version>
        </dependency>
        <dependency>
            <groupId>asm</groupId>
            <artifactId>asm</artifactId>
            <version>3.1</version>
        </dependency>
    

    【讨论】:

    • 它对我有用。但我想拥有 jersey3 的 maven 依赖项!
    猜你喜欢
    • 2011-08-26
    • 1970-01-01
    • 2012-11-09
    • 2013-09-14
    • 2015-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多