Tomcat报java.lang.VerifyError错误

调试网页时候发现报这个错误:java.lang.VerifyError错误。

google了下,看网友们的评述感觉是的jar包的问题,于是仔细检查自己的情况;
发现了个奇怪的地方,可能是自己不小心拖动了jar包导致重复了
后来再classpath里面添加了个用到的包,删除了多余的jar包,问题就解决了。
问题描述:

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: Servlet execution threw an exception

 

root cause

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.

google结果:

针对“java.lang.VerifyError”的错误原因,主要是因为jar包的版本问题导致,可能是因为部署环境存在2套以上版本冲突的JDBC驱动程序部署在应用服务器不同的lib目录下,或者是jar包被替换了。

以上来自:http://gocom.primeton.com/modules/newbb/buttonflat_ASC_5956_4_prev.htm

问题解决:

我的也是同样问题,又是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包冲突

你可能感兴趣的:(tomcat,jar)