調試網頁時候發現報這個錯誤:java.lang.VerifyError錯誤。 java
type Exception report web
message api
description The server encountered an internal error () that prevented it from fulfilling this request. tomcat
exception 服務器
javax.servlet.ServletException: Servlet execution threw an exception
root cause app
java.lang.VerifyError: (class: cn/search/PageManager, method: <init> signature: (Ljava/lang/String;)V) Bad type in putfield/putstatic cn.search.servlet.SearchController.doPost(SearchController.java:67) cn.search.servlet.SearchController.doGet(SearchController.java:35) javax.servlet.http.HttpServlet.service(HttpServlet.java:690) javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs. webapp
google結果: jsp
針對「java.lang.VerifyError」的錯誤緣由,主要是由於jar包的版本問題致使,多是由於部署環境存在2套以上版本衝突的JDBC驅動程序部署在應用服務器不一樣的lib目錄下,或者是jar包被替換了。 this
以上來自:http://gocom.primeton.com/modules/newbb/buttonflat_ASC_5956_4_prev.htm google
問題解決:
個人也是一樣問題,又是jar包出問題了,webapp目錄下和tomcat的lib目錄下jar包重複了,而後我將webapp目錄下的Jar包刪除掉,問題暫時OK了
補充說明:
個人是tomcat/6.0.10
主要發生在websphere的環境中。
【問題描述和定位】
系統原來能夠正常運行,應用自己沒有作什麼改變,系統重啓後登陸後頁面報錯,頁面信息以下(部分):
Caused by: java.lang.VerifyError: (class: com/ibm/db2/jcc/c/d, method: signature: (Lcom/ibm/db2/jcc/c/a;)V) Incompatible argument to method at com.ibm.db2.jcc.a.gb.a(gb.java:2044) at com.ibm.db2.jcc.a.jb.a(jb.java:1078) at com.ibm.db2.jcc.a.jb.a(jb.java:792) at com.ibm.db2.jcc.a.jb.a(jb.java:292) at com.ibm.db2.jcc.a.tb.a(tb.java:277) at com.ibm.db2.jcc.b.ad.a(ad.java:1677) at com.ibm.db2.jcc.b.ad.d(ad.java:2123) at com.ibm.db2.jcc.b.ad.U(ad.java:489) at com.ibm.db2.jcc.b.ad.executeQuery(ad.java:472) at ......
【解決方案和步驟】
針對「java.lang.VerifyError」的錯誤緣由,主要是由於jar包的版本問題致使,多是由於部署環境存在2套以上版本衝突的JDBC驅動程序部署在應用服務器不一樣的lib目錄下,或者是jar包被替換了。
jsp-api.jar和servlet-api.jar和tomcat中jar包衝突