例外:AbstractMethodError:javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response $ StatusType;

 王意之 发布于 2023-02-10 10:01

当使用jersey 1.18尝试POST请求时,我得到以下异常:

Exception in thread "main" java.lang.AbstractMethodError: javax.ws.rs.core.Response.getStatusInfo()Ljavax/ws/rs/core/Response$StatusType;
at javax.ws.rs.WebApplicationException.computeExceptionMessage(WebApplicationException.java:205)
at javax.ws.rs.WebApplicationException.(WebApplicationException.java:179)
at javax.ws.rs.WebApplicationException.(WebApplicationException.java:244)
at com.sun.jersey.core.provider.jaxb.AbstractRootElementProvider.writeTo(AbstractRootElementProvider.java:159)
at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:300)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:217)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:153)
at com.sun.jersey.api.client.Client.handle(Client.java:652)
at com.sun.jersey.api.client.WebResource.voidHandle(WebResource.java:706)
at com.sun.jersey.api.client.WebResource.access$400(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:555)
at jtmt.shell.commands.upld.TrcUploader.upload(TrcUploader.java:29)
at jtmt.shell.commands.trcrt.ICMPTraceRoute.run(ICMPTraceRoute.java:92)
at jtmt.shell.commands.Main.(Main.java:42)
at jtmt.shell.commands.Main.main(Main.java:64)

产生这个的代码是:

    Trace trc = Trace.fromTracerouteResult(trace);
    WebResource wr = _c.resource(URL);
    WebResource.Builder wrb = wr.cookie(new Cookie("user", USER));
    wrb = wrb.cookie(new Cookie("auth", AUTH));
    wrb.post(trc);
    return true;

entiry Trace看起来像这样:

@XmlRootElement
public class Trace {
    private Map> addressesPerHop;
    private String source;
    private String traget;

    /* getters and setters */
}

我在编译和执行时包含以下jar:

commons-cli-1.2.jar
jersey-server-1.18.jar
asm-3.1.jar
jersey-servlet-1.18.jar
jersey-client-1.18.jar
jersey-core-1.18.jar

任何想法丢失了吗?

1 个回答
  • 简短的回答:你的泽西岛版本太旧了.方法javax.ws.rs.core.Response.getStatusInfo()是2.0 JAX-RS规范的一部分.请参阅:https://jax-rs-spec.java.net/nonav/2.0-SNAPSHOT/apidocs/javax/ws/rs/core/Response.html#getStatusInfo().

    Jersey 2.0似乎是第一个支持JAX-RS 2.0的版本.

    2023-02-10 10:05 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有