2013-04-05 52 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

相關問題