2012-11-12 89 views
1

我無法讓我的tomcat服務器與我的WAR文件一起工作。 我使用的是澤西島1.14,它在eclipse中通過tomcat 6正常運行。但是當我將戰爭上傳到遠程tomcat 6服務器時,當我嘗試訪問該網站時,收到以下錯誤消息。與tomcat的澤西錯誤WAR

HTTP Status 500 - 

type Exception report 

message 

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

exception 

javax.servlet.ServletException: Servlet.init() for servlet Jersey REST Service threw exception 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:679) 
root cause 

java.lang.UnsupportedClassVersionError: com/shafer/server/server : Unsupported major.minor version 51.0 (unable to load class com.shafer.server.server) 
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2822) 
org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) 
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
java.lang.Class.forName0(Native Method) 
java.lang.Class.forName(Class.java:264) 
com.sun.jersey.core.reflection.ReflectionHelper.classForNameWithException(ReflectionHelper.java:238) 
com.sun.jersey.spi.scanning.AnnotationScannerListener$AnnotatedClassVisitor.getClassForName(AnnotationScannerListener.java:222) 
com.sun.jersey.spi.scanning.AnnotationScannerListener$AnnotatedClassVisitor.visitEnd(AnnotationScannerListener.java:186) 
org.objectweb.asm.ClassReader.accept(Unknown Source) 
org.objectweb.asm.ClassReader.accept(Unknown Source) 
com.sun.jersey.spi.scanning.AnnotationScannerListener.onProcess(AnnotationScannerListener.java:136) 
com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner$1.f(FileSchemeScanner.java:86) 
com.sun.jersey.core.util.Closing.f(Closing.java:71) 
com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner.scanDirectory(FileSchemeScanner.java:83) 
com.sun.jersey.core.spi.scanning.uri.FileSchemeScanner.scan(FileSchemeScanner.java:71) 
com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:225) 
com.sun.jersey.core.spi.scanning.PackageNamesScanner.scan(PackageNamesScanner.java:141) 
com.sun.jersey.api.core.ScanningResourceConfig.init(ScanningResourceConfig.java:80) 
com.sun.jersey.api.core.PackagesResourceConfig.init(PackagesResourceConfig.java:104) 
com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:78) 
com.sun.jersey.api.core.PackagesResourceConfig.<init>(PackagesResourceConfig.java:89) 
com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:700) 
com.sun.jersey.spi.container.servlet.WebComponent.createResourceConfig(WebComponent.java:678) 
com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:203) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:374) 
com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:557) 
javax.servlet.GenericServlet.init(GenericServlet.java:212) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602) 
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
java.lang.Thread.run(Thread.java:679) 
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.35 logs.` 

這裏是我的網頁XML

<?xml version="1.0" encoding="UTF-8"?> 
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> 
    <display-name>shafer</display-name> 
    <servlet> 
<servlet-name>Jersey REST Service</servlet-name> 
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> 
<init-param> 
    <param-name>com.sun.jersey.config.property.packages</param-name> 
    <param-value>com.shafer.server</param-value> 
</init-param> 
<load-on-startup>1</load-on-startup> 
    </servlet> 
    <servlet-mapping> 
<servlet-name>Jersey REST Service</servlet-name> 
<url-pattern>/</url-pattern> 
</servlet-mapping> 
</web-app> 

回答

3

您的.war是在比新的JDK下編譯的,而不是遠程tomcat上提供的JRE。在遠程服務器上安裝匹配的JRE,或使用正確版本的JDK重新編譯項目。

+0

這正是問題所在,我錯誤地使用1.7編譯而不是1.6。 – Chris

1

此行應該給你一箇中心思想:

java.lang.UnsupportedClassVersionError: com/shafer/server/server : 
Unsupported major.minor version 51.0 
(unable to load class com.shafer.server.server) 

什麼是com.shafer.server.server?檢查您的庫的版本。

1

UnsupportedClassVersionError表示該類是使用比您在運行時使用的更新的Java編譯器編譯的。

我不知道爐旁的版本號,但是您應該使用JRE 6或更高版本來運行Tomcat。