2012-10-11 129 views
9

我在我的tomcatwebapps文件夾中部署了WAR file。當我開始我的tomcat,像下面java.lang.UnsupportedClassVersionError:偏移量爲6的主要版本不佳

C:\apache-tomcat-6.0.35\bin>startup.bat 
Using CATALINA_BASE: "C:\apache-tomcat-6.0.35" 
Using CATALINA_HOME: "C:\apache-tomcat-6.0.35" 
Using CATALINA_TMPDIR: "C:\apache-tomcat-6.0.35\temp" 
Using JRE_HOME:  "C:\Program Files (x86)\IBM\RationalSDLC\Common\Java5.0\jre" 
Using CLASSPATH:  "C:\apache-tomcat-6.0.35\bin\bootstrap.jar" 

我得到這個下面exception-

SEVERE: Error deploying web application archive DirectoryServer.war 
java.lang.UnsupportedClassVersionError: (com/services/rest/Listener) bad major version at offset=6 (unable to load class com.services.rest.Listener) 
    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2822) 
    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1159) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1647) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526) 
    at org.apache.catalina.startup.WebAnnotationSet.loadClassAnnotation(WebAnnotationSet.java:145) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationListenerAnnotations(WebAnnotationSet.java:73) 
    at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:56) 
    at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297) 
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1078) 
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612) 
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799) 
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779) 
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601) 
    at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:943) 
    at org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:778) 
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:504) 
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317) 
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324) 
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065) 
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840) 
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057) 
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463) 
    at org.apache.catalina.core.StandardService.start(StandardService.java:525) 
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754) 
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:618) 
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289) 
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414) 

這是我的JAVA版本 -

C:\apache-tomcat-6.0.35\bin>java -version 
java version "1.6.0_26" 
Java(TM) SE Runtime Environment (build 1.6.0_26-b03) 
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) 

誰能提供任何建議爲什麼會發生?

回答

16

您基本上已經使用JDK 1.6編譯了代碼,但是使用Java 5運行它 - 只需確保Java 6運行時。

+1

這樣當您在java中的一個版本編譯然後稍微不同的版本 – babalu

2

即使我面臨同樣的問題。問題是不合適的類版本,例如。與不同的jre編譯。

解決方案:如果您正在使用Eclipse或RAD,請根據您的要求設置更改編譯器設置,並通過單擊「配置項目特定設置」將相同設置更改爲項目配置。 Windows-> Preferences-> Compiler->點擊「配置項目特定設置」鏈接。

+1

我沒有看到你的答案任何附加值運行一般發生,六必居Kunjummen已經提供了一個很好的答案 –

+0

對於我的解決方案在RAD中是爲jUnit在運行配置中更改java版本(測試失敗,出現此錯誤)。 –

-1

這是一個編譯器問題。確保所有模塊都使用java 1.5配置爲編譯器。窗口 - >首選項 - > Java - >編譯器。確保選擇了1.5。

0

對我來說,解決的辦法是將JAVA_Home系統變量設置爲正確的路徑。

JAVA_Home system variable

相關問題