我理解当我在比运行类文件的JVM更新的版本中编译我的java文件时引起的UnsupportedClassVersionError。
我正在开发一个程序,该程序将在运行Java 1.6的IBM i Series盒子上运行。我已经交叉编译了我的文件,使用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,根据this wiki article应该与JVM 1.5及更高版本兼容。
我试图交叉编译到1.4,但这需要我重写我的代码的重要部分不使用FOR...EACH
和通用列表。
我在这里想念的是什么
谢谢@ rdean400。
我开始思考并回过头来查看传输日志,发现一些错误已经从我的开发盒移到了测试盒。我清除了所有现有的类文件并再次传输它们。这解决了UnsupportedClassVersionError。