1. 程式人生 > >java.lang.UnsupportedClassVersionError的錯誤解決

java.lang.UnsupportedClassVersionError的錯誤解決

最近一個程式,居然在單位可以執行(JDK 1。5版本,TOMCAT 5.08),但到家裡就執行不了,跑TOMCAT的例子可以,
但一跑該應用就說HTTP 4。04錯誤,覺得奇怪,於是找TOMCAT的log,發現
java.lang.UnsupportedClassVersionError,呵呵,那就明白了,原來自己家裡的機器,有jdk 1.4,1.5兩個版本,雖然eclipse裡指定JDK 1。5來編譯,
但環境變數裡的java_home還是1.4版本的,於是一改回來,就可以運行了。
另外在其他論壇裡看到有這樣的問題,順便摘錄下來


在執行TOMCAT5.0時候由出現瞭如下的錯誤:
2005-11-17 19:38:47 StandardWrapperValve[action]: Servlet.service() for servlet action threw exception
org.apache.jasper.JasperException: Unable to compile class for JSP

Generated servlet error:
C:/application/Tomcat 5.0/work/Catalina/localhost/mlinkweb/org/apache/jsp/layouts/layout_005findex_jsp.java:7: cannot access java.lang.Object


Generated servlet error:
bad class file: C:/application/Java/jdk1.5.0/jre/lib/rt.jar(java/lang/Object.class)
class file has wrong version 49.0, should be 48.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
public final class layout_005findex_jsp extends org.apache.jasper.runtime.HttpJspBase
             ^
1 error


最後在SUN的JAVA論壇裡面找到了答案,只要將JDK1.5的LIB下面的TOOLS.JAR覆蓋TOMCAT5.0目錄/common/lib下面的tools.jar,然後重啟TOMCAT5.0就可以了