tomcat 7 上的 servlet 初始化异常 运行 jersey servlet
servlet init exception running jersey servlet on tomcat 7
我正在尝试在 tomcat7 上部署一个休息应用程序,即 ubuntu 上的 运行。使用应用程序管理器部署 .war
文件后,当我访问 url 时,它向我抛出异常。
重要的是,当我把 .war
放在 tomcat 运行 和 windows 上时,它运行得很好。我是 运行 JRE
和 JDK
的最新版本。
我已经尝试了我在 Internet 上可以找到的所有内容,但 none 到目前为止都有效。错误堆栈可以在下面找到。
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.run(ReflectionHelper.java:374)
org.glassfish.jersey.internal.util.ReflectionHelper.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)
这是我的 jdk 版本。
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)
JRE_HOME
和 JAVA_HOME
都指向正确的位置 /usr/lib/jvm/jre1.7.0_79
和 /usr/lib/jvm/java-1.7.0-openjdk-amd64
您的本地计算机和 Ubuntu 服务器上的 Java 版本不匹配。我想你的本地机器上有 Java 8 用来生成你的 war 文件。您应该在您的服务器上更新 Java 或使用 JDK 7 编译以生成您的 war 文件。您可以使用您的 IDE 来编译不同的版本。
我正在尝试在 tomcat7 上部署一个休息应用程序,即 ubuntu 上的 运行。使用应用程序管理器部署 .war
文件后,当我访问 url 时,它向我抛出异常。
重要的是,当我把 .war
放在 tomcat 运行 和 windows 上时,它运行得很好。我是 运行 JRE
和 JDK
的最新版本。
我已经尝试了我在 Internet 上可以找到的所有内容,但 none 到目前为止都有效。错误堆栈可以在下面找到。
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.run(ReflectionHelper.java:374) org.glassfish.jersey.internal.util.ReflectionHelper.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)
这是我的 jdk 版本。
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)
JRE_HOME
和 JAVA_HOME
都指向正确的位置 /usr/lib/jvm/jre1.7.0_79
和 /usr/lib/jvm/java-1.7.0-openjdk-amd64
您的本地计算机和 Ubuntu 服务器上的 Java 版本不匹配。我想你的本地机器上有 Java 8 用来生成你的 war 文件。您应该在您的服务器上更新 Java 或使用 JDK 7 编译以生成您的 war 文件。您可以使用您的 IDE 来编译不同的版本。