java.lang.VerifyError

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.lang.VerifyError相关的知识,希望对你有一定的参考价值。

技术分享


public class VerifyErrorextends LinkageError

Thrown when the "verifier" detects that a class file, though well formed, contains some sort of internal inconsistency or security problem. 

后来在网上查到底这个错误是什么意思呢?这个错误指的是类是没有错误但是版本不统一,这让我更困惑了,这是自己写的一个类怎么会有版本不统一的情况出现呢?

神啊,原来是ADT版本和jdk版本上的问题,导致在导入第三方jar包时会出现这样不明觉厉的错误,没有人能解释这到底是什么问题!不能解释啊!我的天!

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

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

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

http://tinypig.iteye.com/blog/214442

以上是关于java.lang.VerifyError的主要内容,如果未能解决你的问题,请参考以下文章