servlet初始化异常在tomcat 7

时间:2016-05-25 22:24:48

标签: java tomcat servlets jersey glassfish

我试图在ubuntu上运行的tomcat7上部署一个rest应用程序。在使用应用程序管理器部署.war文件后,当我访问该URL时,它会抛出异常。

重要的是,当我把.war扔在运行在窗口上的tomcat上时,它很快就起作用了。我运行的是最新版本的JREJDK

我已经尝试了我能在互联网上找到的所有东西,但到目前为止还没有。错误堆栈可以在下面找到。

  

HTTP状态500 - Servlet的Servlet.init()Jersey Web应用程序抛出异常

     

输入例外报告

     

消息Servlet.init()用于servlet Jersey Web应用程序抛出   例外

     

description服务器遇到阻止它的内部错误   完成此请求。

     

例外

     

javax.servlet.ServletException:servlet Jersey Web的Servlet.init()   申请引发了异常     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)

     

根本原因

     

因为java.lang.UnsupportedClassVersionError:   br / unicamp / ft / courseviewer / resource / TodasDisciplinasResource:   不支持的major.minor版本52.0(无法加载类   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(本机方法)     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(本机方法)     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_HOMEJAVA_HOME都指向正确的地方/usr/lib/jvm/jre1.7.0_79/usr/lib/jvm/java-1.7.0-openjdk-amd64

1 个答案:

答案 0 :(得分:1)

您的本地计算机和Ubuntu服务器上的Java版本不匹配。我认为您在本地计算机上使用Java 8来生成war文件。您应该在服务器上更新Java或使用JDK 7编译以生成war文件。您可以使用IDE使用其他版本进行编译。