2

我有一个带有两个 EJB 和一个 WEB(战争)项目的耳朵应用程序,它们都使用编译器合规性 1.5。在我的 Web 项目中,我创建了一个实用程序类文件,该文件采用 xml 文件的字节数组并使用 vtd-xml 库 v2.10 返回一些字符串值,并在 servlet 中实例化此类的对象。在调用对象的构造函数(需要一个字节数组)时,我得到了错误:

java.lang.UnsupportedClassVersionError: Bad version number in .class file

当我从类中删除所有与 vtd-xml 相关的对象时,我没有收到此错误。任何意见,将不胜感激。

问候

4

4 回答 4

3

听起来 vtd-xml jar 文件中的类是 1.6

于 2011-05-05T22:30:06.517 回答
2

文档说:

当 Java 虚拟机尝试读取类文件并确定文件中的主要和次要版本号不受支持时抛出。

您使用的库必须是用不同版本的 Java 编译的。

于 2011-05-05T22:18:20.457 回答
2

您可以使用 build.bat 文件(包含在 vtd-xml.zip 中)重新编译以获得新的 vtd-xml.jar。

于 2011-05-05T22:45:11.487 回答
2

现在它可以执行 build.bat 文件(包含在 vtd-xml.zip 中),但您需要将目标版本编辑为 1.5 而不是 1.6

于 2011-07-05T15:03:46.307 回答