隨筆-4  評論-11  文章-0  trackbacks-0
          問題現象:
          原來的Eclipse3.2、JRE1.4環境更新為MyEclipse6.0完整安裝包后原先的工程無法正常使用,控制臺報錯如下所示:
           12008-3-13 15:06:35 org.apache.catalina.core.StandardEngine start
           2信息: Starting Servlet Engine: Apache Tomcat/5.0.28
           32008-3-13 15:06:35 org.apache.catalina.core.StandardHost start
           4信息: XML validation disabled
           52008-3-13 15:06:36 org.apache.catalina.loader.WebappClassLoader validateJarFile
           6信息: validateJarFile(D:\workspace\dswssb_new\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
           72008-3-13 15:06:37 org.apache.catalina.core.StandardContext start
           8嚴重: Error filterStart
           92008-3-13 15:06:37 org.apache.catalina.core.StandardContext start
          10嚴重: Context startup failed due to previous errors

          然后工程在Tomcat中無法正常啟動,上面的第8行提示Error filterStart錯誤,但是在工程中將web.xml中所有的filter相關的配置項刪除,
          刪除后仍然是無法啟動,報錯依舊。這個時候才想起來,控制臺的日志不夠完全,然后去查找Tomcat的日志文件夾中的日志
          這里更詳細,具體內容如下:
           12008-03-13 14:49:40 StandardContext[/dswssb_new]Exception starting filter AuthFilter
           2java.lang.UnsupportedClassVersionError: cn/tohot/ltax/wssb/mvc/login/AuthFilter (Unsupported major.minor version 49.0)
           3    at java.lang.ClassLoader.defineClass0(Native Method)
           4    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
           5    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
           6    at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)
           7    at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:860)
           8    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1307)
           9    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1189)
          10       .....

          這里面的關鍵部分是Unsupported major.minor version 49.0,搜索之后發現是因為這里面的編譯使用了更高版本的JRE,
          然后我開始在Eclipse的Window->Reference中進行配置,配置了Java->Installed JREs,添加了1.4的JRE,問題依舊,
          然后修改TOMCAT插件調用的JRE,問題依舊,倒騰了很久,依舊無法正常解決,后來考慮可能是新版的MyEclipse中自帶了高版本的JRE,
          于是刪除高版本的JRE,還是沒有解決。最后發現這里面提示的信息是指編譯的文件采用了高版本的JRE,才想起來工程的編譯環境的設置,
          在工程的屬性中,設置Java Complier中才發現,原來安裝MyEclipse6.0后采用了默認的高版本的JRE編譯環境,
          給工程設置了獨立的編譯環境屬性后,問題解決。
           

          另外,控制臺中輸出的錯誤:
          1信息: validateJarFile(D:\workspace\dswssb_new\WEB-INF\lib\servlet-api.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
          產生的原因是Tomcat自帶了servlet-api.jar這個包,而工程中lib庫中也有一個servlet-api.jar包,
          因此導致在加載的時候沖突,Tomcat服務器沒有加載工程中servlet-api.jar包,而是加載了Tomcat自帶的那個。
          如果需要的話,可以將Tomcat自帶的包刪除,不過,這里并不影響使用,可以忽略。
          posted on 2008-03-13 16:27 Jedliu's Blog 閱讀(6469) 評論(0)  編輯  收藏 所屬分類: Java開發

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 贵德县| 澄江县| 嘉鱼县| 德格县| 延川县| 临江市| 泗阳县| 乃东县| 澄城县| 江安县| 安徽省| 永年县| 镇远县| 桐庐县| 壶关县| 廉江市| 获嘉县| 和政县| 胶南市| 印江| 富阳市| 绿春县| 馆陶县| 长春市| 驻马店市| 土默特右旗| 酉阳| 崇文区| 固镇县| 永年县| 和平区| 安图县| 新建县| 太原市| 宁海县| 肃北| 静乐县| 水城县| 广州市| 安新县| 吉隆县|