0

请帮助我找出摆脱这种情况的方法,在使用 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 while defined class: com.asiaone.web.common.A1BusinessXmlOperation 由于:com/asiaone/web/common/A1BusinessXmlOperation 无法定义(不支持的major.minor 版本49.0) 这通常是由在类加载器层次结构中的多个位置定义一个类。其他潜在原因包括针对具有不兼容方法签名的类的较旧或较新版本进行编译。转储当前上下文类加载器层次结构:

4

1 回答 1

1

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

您很可能会收到 VerifyError,因为您编译时使用的 Apache 库与运行程序时使用的不同。使用您运行的相同库版本重新编译您的构建。

于 2012-06-11T03:22:17.740 回答