0

我在 Windows 上使用 Mechanical Turk 命令行工具。当我尝试运行命令(例如,getBalance、createQualificationType)时,我总是收到以下错误:

线程“主”java.lang.UnsupportedClassVersionError 中的异常:.class 文件中的版本号错误

任何关于我可以解决这个问题的线索将不胜感激!

我尝试更新我的密钥和密钥无济于事。

注意:我可以使用 -help 获得命令的帮助,但我不能自己运行命令。

无论我运行的是 JRE 1.5.0_06-b05、1.5.0_22-b03 还是 1.7.0_17-b02,都会出现此错误。命令行工具文档指出,“您必须拥有 Java JRE 1.5.X (JRE 5)。命令行工具并非 100% 与 JRE 6 兼容。”

由于我使用的是 JRE 打包的命令行工具版本,因此我还卸载了我的 JRE。我犯了同样的错误。

4

2 回答 2

1

UnsupportedClassVersionError意味着您正在尝试使用在较旧的 Java 运行时环境中使用较新的 JDK 编译的 Java 类。例如,您有一个使用 JDK 7 编译的类,并且您正尝试在 Java 6 或更早的运行时环境中使用它。

Java向下兼容;较新的 Java 运行时环境可以运行用旧版本编译的 Java 类而无需修改,但反之则不行。

检查您尝试使用的类的编译版本,并使用具有相同版本或更高版本的 Java 运行时环境来运行该类。

您可以使用以下命令检查您的 Java 运行时环境和 JDK 版本:

java -version
javac -version
于 2013-04-05T14:32:38.923 回答
0

显然,CLT 安装程序安装的 JRE 太旧,无法运行安装程序中包含的工具。似乎是一个严重的错误(当然很烦人)。

您可以通过安装和使用更新的 JDK 来修复。

这篇文章包含有关如何执行此操作的说明: https ://forums.aws.amazon.com/message.jspa?messageID=388586#388585

于 2013-04-20T19:10:48.610 回答