2013-04-05 59 views
0

我在Windows上使用Mechanical Turk命令行工具。当我尝试运行一个命令(例如,为getBalance,createQualificationType),我总是得到以下错误:MTurk命令行工具错误:.class文件中的版本号错误

Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file

任何线索,可以看看我在解决这一问题将不胜感激!

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

注:我可以通过使用-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

我已经找到了答案。装有Mechanical Turk命令行工具的JRE不适用于CLT。应该删除它,安装新版本的JRE,然后将JAVA_HOME系统级变量更新为新安装的JRE的正确路径。 之后,可能需要更新mturk.properties文件以通过https进行连接。 可以在用户uwviscoglab发布的[AWS论坛上的此主题](https://forums.aws.amazon.com/message.jspa?messageID=388586)中找到执行此操作的详细说明。 – user2249427 2013-04-05 17:14:57

回答

1

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

Java向下兼容;较新的Java运行时环境可以运行使用较旧版本编译的Java类而无需修改,但不能以其他方式运行。

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

你可以检查你的Java运行环境和JDK版本:

java -version 
javac -version 
+0

谢谢!第一个命令指出我正在使用JRE版本1.7.0_17-b02。 MTurk命令行工具的文档声明它需要使用1.5版本,并且它与版本1.6不兼容(没有提到1.7,所以我认为文档早于它)。 http://web.mit.edu/cathywu/Public/AMT/aws-mturk-clt-1.3.0/UserGuide.html – user2249427 2013-04-05 14:42:31

相关问题