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(Lorg/eclipse/persistence/oxm/NamespaceResolver;)V</pre>
</p>
<p>
<b>root cause</b>
<pre>org.glassfish.jersey.server.ContainerException: java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver(Lorg/eclipse/persistence/oxm/NamespaceResolver;)V</pre>
</p>
<p>
<b>root cause</b>
<pre>java.lang.NoSuchMethodError: org.eclipse.persistence.oxm.XMLUnmarshaller.setNamespaceResolver(Lorg/eclipse/persistence/oxm/NamespaceResolver;)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或更大