Command line MTurk命令行工具错误:.class文件中的版本号错误
我正在Windows上使用Mechanical Turk命令行工具。当我尝试运行命令(例如getBalance、createQualificationType)时,总是会出现以下错误: 线程“main”java.lang.UnsupportedClassVersionError中出现异常。类文件中的版本号错误 任何关于我可以看什么来解决这个问题的线索都将不胜感激 我已尝试更新我的密钥和密钥,但无效 注意:我可以通过使用-help获得命令的帮助,但我无法运行命令本身 无论我运行的是JRE 1.5.0_06-b05、1.5.0_22-b03还是1.7.0_17-b02,都会发生此错误。命令行工具文档说明Command line MTurk命令行工具错误:.class文件中的版本号错误,command-line,amazon-web-services,java,mechanicalturk,Command Line,Amazon Web Services,Java,Mechanicalturk,我正在Windows上使用Mechanical Turk命令行工具。当我尝试运行命令(例如getBalance、createQualificationType)时,总是会出现以下错误: 线程“main”java.lang.UnsupportedClassVersionError中出现异常。类文件中的版本号错误 任何关于我可以看什么来解决这个问题的线索都将不胜感激 我已尝试更新我的密钥和密钥,但无效 注意:我可以通过使用-help获得命令的帮助,但我无法运行命令本身 无论我运行的是JRE 1.5.
由于我使用的是与JRE一起打包的命令行工具版本,因此我还卸载了我的JRE。我得到了相同的错误。
不受支持的ClassVersionError
表示您试图使用在旧Java运行时环境中使用较新JDK编译的Java类。例如,您有一个使用JDK 7编译的类,并且您正试图在Java 6或更早的运行时环境中使用它
Java向下兼容;较新的Java运行时环境可以运行使用较旧版本编译的Java类,而无需修改,但反之亦然
检查您尝试使用的类编译的版本,并使用具有相同版本或更新版本的Java运行时环境来运行该类
您可以使用以下工具检查Java运行时环境和JDK版本:
java -version
javac -version
显然,CLT安装程序安装的JRE太旧,无法运行安装程序中包含的工具。看起来像是一个严重的错误(当然很烦人) 您可以通过安装和使用较新的JDK来修复 这篇文章包含了如何做到这一点的说明:
谢谢!第一个命令说明我正在使用JRE版本1.7.0_17-b02。MTurk命令行工具的文档说明它需要使用版本1.5,并且它与版本1.6不兼容(没有提到1.7,所以我假设文档早于版本1.5)。我找到了答案。包含Mechanical Turk命令行工具的JRE不适用于CLT。应该删除它,安装新版本的JRE,然后将JAVA_HOME系统级变量更新为新安装的JRE的正确路径。在此之后,可能需要更新mturk.properties文件以通过https进行连接。有关执行此操作的详细说明,请参见用户UWB发布的。