2

我理解 UnsupportedClassVersionError 是当我在比运行类文件的 JVM 更新的版本中编译我的 java 文件时引起的。

我正在开发一个将在运行 Java 1.6 的 IBM i 系列机器上运行的程序。我已经交叉编译了我的文件以使用 1.5 作为源值和目标值。实际使用的命令是:

javac -source 1.5 -target 1.5 -bootclasspath C:/dev/languages/java/jdk1.5.0_22/jre/lib/rt.jar -extdirs "" -classpath "c:/dev/QIBM/ProdData/OS400/jt400/lib/*;/psmssys/java/src/com/gy/as400/common;." $(find ./com/gy/as400/bladder/install/* | grep .java)

了解我正在运行 Java 1.8.0_131 的 Win 7 机器上编译文件

一旦编译了类,如果我然后运行

javap -verbose

在任何生成的类上,主要版本显示 49,根据这篇 wiki 文章,它应该与 JVM 1.5 及更高版本兼容。

我试图交叉编译到 1.4,但这需要我重写我的代码的重要部分以不使用FOR...EACH和通用列表。

我在这里想念什么。

4

1 回答 1

0

谢谢@rdean400。

我开始思考并回顾了我的传输日志,发现将课程从我的开发箱移动到测试箱时发生了一些错误。我清除了所有现有的类文件并再次传输它们。这解决了 UnsupportedClassVersionError。

于 2018-01-11T17:24:31.010 回答