Java 尝试使用Jersey客户端时出现空指针异常

Java 尝试使用Jersey客户端时出现空指针异常,java,osgi,jersey,Java,Osgi,Jersey,我正在尝试使用Jersey客户端访问远程web服务。以下是我提出请求的代码: Client client = Client.create(); WebResource resource = client.resource(request.getUrl()); Builder builder = resource.accept("application/json"); String response = builder.post(String.class, request.getPayload(

我正在尝试使用Jersey客户端访问远程web服务。以下是我提出请求的代码:

Client client = Client.create();
WebResource resource = client.resource(request.getUrl());

Builder builder = resource.accept("application/json");
String response = builder.post(String.class, request.getPayload());
我已将其捆绑到OSGi捆绑包中,并将其安装在Adobe CQ CMS上

尝试在CMS中运行请求代码时,我得到以下堆栈跟踪:

Caused by: java.lang.ExceptionInInitializerError
at com.sun.jersey.core.spi.factory.MessageBodyFactory.getMessageBodyWriterMediaTypes(MessageBodyFactory.java:444)
at com.sun.jersey.api.client.RequestWriter.getMediaType(RequestWriter.java:324)
at com.sun.jersey.api.client.RequestWriter.writeRequestEntity(RequestWriter.java:282)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler._invoke(URLConnectionClientHandler.java:204)
at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:147)
at com.sun.jersey.api.client.Client.handle(Client.java:648)
at com.sun.jersey.api.client.WebResource.handle(WebResource.java:680)
at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:568)
at com.myapp.auth.request.impl.HttpRequestSender.sendRequest(HttpRequestSender.java:44)
at com.myapp.auth.ws.clients.impl.AuthenticateClientImpl.authenticate(AuthenticateClientImpl.java:47)
at com.myapp.auth.Authenticator.authenticate(Authenticator.java:31)
at org.apache.jsp.apps.angry_002dnerds.components.page.base.content_jsp._jspService(content_jsp.java:155)
at org.apache.sling.scripting.jsp.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.apache.sling.scripting.jsp.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:420)
... 126 more
原因:java.lang.NullPointerException 位于javax.ws.rs.core.MediaType.valueOf(MediaType.java:119) 位于com.sun.jersey.core.header.MediaTypes。(MediaTypes.java:64) ... 142更多

我环顾四周,发现其他人也有类似的错误,MediaType在不同平台上抛出NullPointerException


以前有人见过这个问题吗

根据需要,您的依赖项/类路径中需要有
jersey json
模块。

我没有web.xml,我将其构建为一个OSGi捆绑包。我发现有人在这里有相同的问题:他们建议jersey 1.3中已经修复了它,但我使用的是1.12版,仍然看到相同的问题。有点关心响应,但是我尝试将其作为依赖项,但它并没有改变问题