使用JDOM时获取java.lang.VerifyError异常

时间:2012-06-11 03:16:46

标签: java xml jdom

请帮我找出解决方法,使用JDOM API,我正在使用

root.addContent(new Element("name").setText("Enlightenment"));

在XML中添加元素的方法但在运行时我遇到以下异常:

java.lang.VerifyError: (class: com/asiaone/web/common/A1BusinessXmlOperation, method: create signature: ()V) Incompat`enter code here`ible argument to function
        at org.apache.jsp._business_5F_iframe_5F_page._jspService(_business_5F_iframe_5F_page.java:281)

使用运行时JDOM库编译文件后,我遇到异常,

java.lang.UnsupportedClassVersionError: com/asiaone/web/common/A1BusinessXmlOperation 
(Unsupported major.minor version 49.0)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)

但我检查了java版本:

java version "1.5.0_04"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_04-b05)
Java HotSpot(TM) Server VM (build 1.5.0_04-b05, mixed mode)

即。也没关系。为什么现在会发生这个错误?

`java.lang.LinkageError:定义类时的LinkageError:com.asiaone.web.common.A1BusinessXmlOperation 由于以下原因无法定义:com / asiaone / web / common / A1BusinessXmlOperation(不支持的major.minor版本49.0) 这通常是由多个类定义的 类加载器层次结构中的位置。其他潜在原因 包括针对该类的较旧版本或较新版本进行编译 具有不兼容的方法签名。 转储当前上下文类加载器层次结构:

1 个答案:

答案 0 :(得分:1)

VerifyError是运行时无效字节码的结果,通常是使用与编译的库版本不同的库版本的结果。这通常是由于一个构建版本的方法签名与另一个构建版本不同,导致JVM尝试执行它不能执行的操作,因此它会抛出VerifyError。

您最有可能获得VerifyError,因为您编译的Apache库与您运行程序的Apache库不同。使用您运行的库版本重新编译您的构建。

相关问题