ClassNotFoundException: javax.ws.rs.client.ClientBuilder

Ich versuche zu verbrauchen Jersey-Rest-Service aus einer Web-Anwendung (Dynamic Web-App in eclispe) wie folgt:

Client client = ClientBuilder.newBuilder().build(); //Here is the error

WebTarget target = client.target("url/rest").path("List");

String result = target.request(MediaType.TEXT_PLAIN).get(String.class);

Beim Debuggen in der Zeile ClientBuilder.newBuilder() das system wirft die ClassNotFoundException: javax.ws.rs.client.ClientBuilder Fehler, aber den gleichen code in ein java-Projekt funktioniert perfekt.

Full trace:

javax.servlet.ServletException: Error instanciando clase de servlet test
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)
causa raíz

java.lang.NoClassDefFoundError: javax/ws/rs/client/ClientBuilder
    test.<init>(test.java:27)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    java.lang.reflect.Constructor.newInstance(Unknown Source)
    java.lang.Class.newInstance(Unknown Source)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)
causa raíz

java.lang.ClassNotFoundException: javax.ws.rs.client.ClientBuilder
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1324)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1177)
    test.<init>(test.java:27)
    sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    java.lang.reflect.Constructor.newInstance(Unknown Source)
    java.lang.Class.newInstance(Unknown Source)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    java.lang.Thread.run(Unknown Source)
  • Tut appserver gehören ein javax.ws.rs.client.ClientBuilder-Implementierung im classpath? Wie die jersey-client? Oder dessen packte er mit Ihnen Anwendung?
  • howtodoinjava.com/2013/08/03/... versuchen Sie, diese
  • Ich habe die jersey-client.jar (und andere) Hinzugefügt, wie ein Benutzer die lib in eclipse.
  • Nun kopierte ich alle die Gläser auf dem tomcat-lib, und funktioniert perfekt ! Jetzt erklären Sie mir, warum sind die nicht gepackt in meine app? Ist der user-lib nicht nützlich?
  • User-libs-classpath existieren nur in eclipse. Sie haben, um Ihre libs im WEB-INF/libs zu Verpacken und bereitstellen Ihrer app. Wenn Sie die webprofile, als ich schlage vor, wenn Sie tomcat. Können Sie keine richtige Antwort im moment, mit smartphone. Würde morgen machen.
InformationsquelleAutor Keetah | 2014-07-15
Schreibe einen Kommentar