2017-11-23 4 views
0

Ich habe Probleme mit der Arbeit mit Rest mit Jersey. Wenn ich die Webapp laufe halten wir folgende Fehlermeldung erhalten:Java Jersey Client

javax.servlet.ServletException: Servlet.init() for servlet [Jersey REST Service] threw exception 


java.lang.NoClassDefFoundError: org/glassfish/hk2/utilities/binding/AbstractBinder 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:763) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2277) 
    at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:811) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1254) 
    at org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:208) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) 
    at org.glassfish.jersey.servlet.WebComponent.<init>(WebComponent.java:261) 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:167) 
    at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:349) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:158) 
    at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1183) 
    at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1099) 
    at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:989) 
    at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4931) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5241) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.deployWar(TomcatWebAppBuilder.java:652) 
    at org.apache.tomee.catalina.TomcatWebAppBuilder.deployWebApps(TomcatWebAppBuilder.java:592) 
    at org.apache.tomee.catalina.deployment.TomcatWebappDeployer.deploy(TomcatWebappDeployer.java:47) 
    at org.apache.openejb.assembler.DeployerEjb.deploy(DeployerEjb.java:182) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) 
    at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) 
    at org.apache.openejb.security.internal.InternalSecurityInterceptor.invoke(InternalSecurityInterceptor.java:35) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) 
    at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) 
    at org.apache.openejb.monitoring.StatsInterceptor.record(StatsInterceptor.java:181) 
    at org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(ReflectionInvocationContext.java:205) 
    at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocationContext.java:186) 
    at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85) 
    at org.apache.openejb.core.singleton.SingletonContainer._invoke(SingletonContainer.java:272) 
    at org.apache.openejb.core.singleton.SingletonContainer.invoke(SingletonContainer.java:221) 
    at org.apache.openejb.server.ejbd.EjbRequestHandler.doEjbObject_BUSINESS_METHOD(EjbRequestHandler.java:371) 
    at org.apache.openejb.server.ejbd.EjbRequestHandler.processRequest(EjbRequestHandler.java:182) 
    at org.apache.openejb.server.ejbd.EjbDaemon.processEjbRequest(EjbDaemon.java:360) 
    at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:247) 
    at org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:104) 
    at org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:60) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
    at org.apache.tomee.catalina.OpenEJBValve.invoke(OpenEJBValve.java:44) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:80) 
    at org.apache.tomee.catalina.OpenEJBSecurityListener$RequestCapturer.invoke(OpenEJBSecurityListener.java:97) 
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) 
    at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:799) 
    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:868) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1457) 
    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Thread.java:748) 
Caused by: java.lang.ClassNotFoundException: org.glassfish.hk2.utilities.binding.AbstractBinder 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1285) 
    at org.apache.tomee.catalina.TomEEWebappClassLoader.loadClass(TomEEWebappClassLoader.java:208) 
    at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1119) 
    ... 76 more 

ich andere Beiträge zu ähnlichen Problemen gelesen habe, aber nicht in der Lage gewesen, dies noch zu lösen. Fehle ich irgendwelche JAR-Dateien oder könnte es ein anderes Problem sein?

Das sind meine JAR-Dateien

These are my jar files

sind meine Maven depenencies sind. hier

enter image description here

Was bin ich?

+0

Sie benötigen Jersey-Server-Paket – Dimitri

+0

änderte ich eine des Jersey-Client zum Server, aber ich bekomme immer noch die gleichen Fehler – LarmadVara

Antwort

0

Hallo LarmadVara,

Wenn Sie nur Ruhe-Client benötigen, können Sie Jersey-Behälter-Servlets und Jersey-Behälter-Kern Abhängigkeiten entfernen, da beide Abhängigkeiten Servlet-Deklaration in web.xml oder Java-Konfiguration erwarten. So etwas wie unten:

<servlet-name>myapp</servlet-name> 
    <servlet-class> 
      org.glassfish.jersey.servlet.ServletContainer 
    </servlet-class> 
    <init-param> 
      <param-name>jersey.config.server.provider.packages</param-name> 
      <param-value>com.myapp.myproject</param-value> 
    </init-param> 
     <load-on-startup>2</load-on-startup> 
</servlet> 
<servlet-mapping> 
    <servlet-name>myapp</servlet-name> 
    <url-pattern>/rest/*</url-pattern> 
</servlet-mapping> 

    So remove both the dependencies or include the above configuration in web.xml. 
Verwandte Themen