我在Windows上使用Mechanical Turk命令行工具。当我尝试运行命令(例如,getBalance,createQualificationType)时,我总是收到以下错误:
线程“main”中的异常java.lang.UnsupportedClassVersionError:.class文件中的错误版本号
任何关于我能解决这个问题的线索都会非常感激!!
我尝试更新我的密钥和密钥无济于事。
注意:我可以使用-help获取命令的帮助,但我不能自己运行命令。
无论是运行JRE 1.5.0_06-b05,1.5.0_22-b03还是1.7.0_17-b02,都会发生此错误。命令行工具文档说明"You must have the Java JRE 1.5.X (JRE 5). The Command Line Tools are not 100% compatible with JRE 6."
由于我使用的是与JRE一起打包的命令行工具的版本,因此我也卸载了我的JRE。我得到了同样的错误。
答案 0 :(得分:1)
UnsupportedClassVersionError
表示您正在尝试使用在较旧的Java运行时环境中使用较新的JDK编译的Java类。例如,您有一个使用JDK 7编译的类,并且您尝试在Java 6或更早的运行时环境中使用它。
Java向下兼容;较新的Java运行时环境可以运行使用旧版本编译的Java类而无需修改,但不能相反。
检查您尝试使用的类的编译版本,并使用具有相同版本或更新版本的Java运行时环境来运行该类。
您可以使用以下命令检查Java运行时环境和JDK版本:
java -version
javac -version
答案 1 :(得分:0)
显然,CLT安装程序安装的JRE太旧而无法运行安装程序中包含的工具。看起来像一个严重的错误(当然很烦人)。
您可以通过安装和使用更新的JDK来解决此问题。
此帖子包含有关如何执行此操作的说明: https://forums.aws.amazon.com/message.jspa?messageID=388586#388585