啓動tomcat報錯com.sun.faces.config.ConfigureListener

最近在eclipse for J2ee中測試一個jsf2.0的web工程,在發佈之後出現 
啓動tomcat報錯com.sun.faces.config.ConfigureListener
根據下面的提示:
你使用的JVM環境版本過低,就是你試圖使用一個較低版本的JVM去運行一個較高版本的class文件,例如,你的JDK是1.4版本,Tomcat中執行的class文件是JDK5的。 
出現Could not find the main class.program will exit和java.lang.UnsupportedClassVersionError 錯誤的原因,是因爲我們使用高版本的JDK編譯的Java class文件試圖在較低版本的JVM上運行,所報的錯誤。 
因爲,高版本的JDK生成的class文件使用的格式,可能與低版本的JDK的.class文件格式不同。這樣,低版本的JVM無法解釋執行這個.class文件,會拋出Could not find the main class.program will exit,java.lang.UnsupportedClassVersionError不支持的Class版本錯誤。 
這個錯誤尤其在JDK5與JDK5之前的版本上表現明顯。因爲,JDK5在Java語法上作了不少增強,引入了一些新的.class文件的元素,導致舊版本的JVM無法解釋、執行.class文件。即使這個類並沒有使用任何JDK5的新元素,但是JDK5生成的.class文件,JDK1.4及其以前的JVM都無法辨認! 

在MyEclipse-->應用服務器下,指定Tomcat5。指定Tomcat使用jdk1.4。這樣,就全部指定使用Jdk1.4來編譯和運行程序了。如果全部指定jdk5也是可以的。但是,絕對不能夠使用jdk5編譯程序,而又在jdk1.4上運行程序,那樣將會拋出java.lang.UnsupportedClassVersionError不支持的Class版本錯誤。 
這種情況下,不論是Eclipse生成的war包,還是ant文件生成war包,都使用jdk5編譯,就會在運行時出現錯誤,該應用程序將無法啓動。如果你查看Tomcat的日誌文件,將會看到正是java.lang.UnsupportedClassVersionError錯誤發生了! 

其實無非就是版本問題,JDK版本的問題。 

解決方法:在Eclipse窗口-->首選項-->Java-->編譯器-->JDK一致性-->編輯器一致性級別,從5.0改到1.4就可以了。 

如果沒有安裝Eclipse,那就卸載jdk 安裝較低版本的jdk環境即可 
 
我將項目的tomcat改成6.0的,之前用的是5.5,但jdk用的是6.0,兩者不匹配。
改正後項目成功運行。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章