在与泽西岛一起在Java Rest服务中生产和消费JSON时,会异常


  public class Message {
            private long id;
            private String message;
            private Date created;
            private String author;
            public Message(long id, String message, String author) {    
                this.id = id;
                this.message = message;
                this.author = author;
                this.created = new Date();
            }
            public long getId(
) {

消息是模型类..... 这是methord: -

@POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)       
    public Message addMessage(Message msg){
        return mssageService.addMessage(msg);
    }

上面的方法用于生产并消耗JSON

这是输出: -

<h1>HTTP Status 500 - Internal Server Error</h1>
        <hr/>
        <p>
            <b>type</b> Exception report
        </p>
        <p>
            <b>message</b>Internal Server Error
        </p>
        <p>
            <b>description</b>The server encountered an internal error that prevented it from fulfilling this request.
        </p>
        <p>
            <b>exception</b>
            <pre>javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver&#40;Lorg/eclipse/persistence/oxm/NamespaceResolver&#59;&#41;V</pre>
        </p>
        <p>
            <b>root cause</b>
            <pre>org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver&#40;Lorg/eclipse/persistence/oxm/NamespaceResolver&#59;&#41;V</pre>
        </p>
        <p>
            <b>root cause</b>
            <pre>java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver&#40;Lorg/eclipse/persistence/oxm/NamespaceResolver&#59;&#41;V</pre>
        </p>
        <p>
            <b>note</b>
            <u>The full stack traces of the exception and its root causes are available in the GlassFish Server Open Source Edition  4.1.1  logs.</u>
        </p>
        <hr/>
        <h3>GlassFish Server Open Source Edition  4.1.1 </h3>
    </body>

这是具有异常代码java.lang.nosuchmethoderror:org.eclipse.persistence.oxm.xmlunmarshaller.setnamespaceresolver异常

可能,您使用eclipselink的旧版本。

我从此站点看到的内容:http://grepcode.com/project/repo1.maven.org/maven2/org.eclipse.persistence.persistence/eclipselink/

所以我的结论是降级您的eclipselink lib版本。

setNames -paceresolver仅存在Eclipse链接v 2.4,因此将其升级到v2.4或更大

最新更新