隨筆-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 閱讀(6473) 評論(0)  編輯  收藏 所屬分類: Java開發

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


          網站導航:
           
          主站蜘蛛池模板: 临汾市| 甘肃省| 宁阳县| 富平县| 芦山县| 农安县| 江川县| 盘锦市| 通城县| 玉溪市| 龙里县| 奈曼旗| 灵璧县| 湖口县| 新蔡县| 安义县| 荥阳市| 普陀区| 上虞市| 高阳县| 柳河县| 盐池县| 鲁甸县| 灵宝市| 合肥市| 宝坻区| 攀枝花市| 新乡市| 抚顺县| 化隆| 南漳县| 东城区| 泸定县| 车致| 邵东县| 荔波县| 专栏| 花垣县| 汕头市| 沅陵县| 疏勒县|