2016-05-25 10 views
0

Ich versuche, eine Rest-Anwendung auf tomcat7, die auf Ubuntu ausgeführt wird, zu implementieren. Nach der Bereitstellung der .war Datei mit dem Anwendungsmanager, wenn ich auf die URL zugreifen, warf er mir eine Ausnahme.Servlet-Init-Ausnahme läuft Trikot-Servlet auf Tomcat 7

Es ist wichtig zu sagen, dass, wenn ich die .war auf Tomcat lief auf Windows warf, es funktionierte perfekt. Ich habe die neuesten Versionen von JRE und JDK ausgeführt.

Ich habe alles versucht, was ich im Internet finden konnte, aber bisher hat noch keiner gearbeitet. Der Fehler-Stack kann unten gefunden werden.

HTTP Status 500 - Servlet.init() for servlet Jersey Web Application threw exception

type Exception report

message Servlet.init() for servlet Jersey Web Application threw exception

description The server encountered an internal error that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet.init() for servlet Jersey Web Application threw exception org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745)

root cause

java.lang.UnsupportedClassVersionError: br/unicamp/ft/courseviewer/resource/TodasDisciplinasResource : Unsupported major.minor version 52.0 (unable to load class br.unicamp.ft.courseviewer.resource.TodasDisciplinasResource) org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:3111) org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1348) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1828) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1709) java.lang.Class.forName0(Native Method) java.lang.Class.forName(Class.java:278) org.glassfish.jersey.internal.util.ReflectionHelper$6.run(ReflectionHelper.java:374) org.glassfish.jersey.internal.util.ReflectionHelper$6.run(ReflectionHelper.java:369) java.security.AccessController.doPrivileged(Native Method) org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener$AnnotatedClassVisitor.getClassForName(AnnotationAcceptingListener.java:257) org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener$AnnotatedClassVisitor.visitEnd(AnnotationAcceptingListener.java:219) org.objectweb.asm.ClassReader.accept(ClassReader.java:1495) org.objectweb.asm.ClassReader.accept(ClassReader.java:425) org.glassfish.jersey.server.internal.scanning.AnnotationAcceptingListener.process(AnnotationAcceptingListener.java:169) org.glassfish.jersey.server.ResourceConfig.scanClasses(ResourceConfig.java:883) org.glassfish.jersey.server.ResourceConfig._getClasses(ResourceConfig.java:840) org.glassfish.jersey.server.ResourceConfig.getClasses(ResourceConfig.java:755) org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.(ResourceConfig.java:1171) org.glassfish.jersey.server.ResourceConfig$RuntimeConfig.(ResourceConfig.java:1144) org.glassfish.jersey.server.ResourceConfig.createRuntimeConfig(ResourceConfig.java:1140) org.glassfish.jersey.server.ApplicationHandler.(ApplicationHandler.java:299) org.glassfish.jersey.servlet.WebComponent.(WebComponent.java:311) org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:169) org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:359) javax.servlet.GenericServlet.init(GenericServlet.java:158) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) java.lang.Thread.run(Thread.java:745)

Dies ist meine jdk-Version.

java version "1.7.0_101" 
OpenJDK Runtime Environment (IcedTea 2.6.6) (7u101-2.6.6-0ubuntu0.15.10.1) 
OpenJDK 64-Bit Server VM (build 24.95-b01, mixed mode) 

Beide JRE_HOME und JAVA_HOME zeigen auf die richtige Stelle /usr/lib/jvm/jre1.7.0_79 und /usr/lib/jvm/java-1.7.0-openjdk-amd64

Antwort

1

Sie haben eine Diskrepanz in Java-Version auf dem lokalen Computer und die Ubuntu-Server. Ich denke, Sie haben Java 8 auf Ihrem lokalen Rechner, mit dem Sie Ihre Kriegsdatei erstellt haben. Sie sollten entweder Java auf Ihrem Server aktualisieren oder mit einem JDK 7 kompilieren, um Ihre WAR-Datei zu generieren. Sie können Ihre IDE verwenden, um mit einer anderen Version zu kompilieren.

+0

gut ... es funktionierte, zu einfach und ich konnte nicht herausfinden, was war. Vielen Dank. –