我理解 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
和通用列表。
我在这里想念什么。