我正在尝试安装并使用 Amazon Mechanical Turk 命令行工具,我刚刚从https://requester.mturk.com/developer/tools/clt
我正在尝试从 Windows 10 中的管理员命令提示符运行它们。
当我尝试 getBalance 脚本时,出现以下错误:
c:\mypath\aws-mturk-clt\aws-mturk-clt-1.3.4>bin\getBalance
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.NoClassDefFoundError: com/amazonaws/mturk/filter/Filter
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.privateGetMethodRecursive(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.validateMainClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.mturk.filter.Filter
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 7 more
错误消息告诉我检查我的安装,但实际上没有什么可安装的。
答案1
看起来这些工具确实带有某种安装程序。尝试运行 /installer/setup.nsi?据我所知,它会构建一些东西,所以它可以解决你的问题。
答案2
如果缺少命令/脚本的一些必要组件,则会引发“ClassNotFoundException”。我不知道 Amazon Mechanical Turk 的用例是什么,但正如我之前提到的,缺少一些部分。您可以尝试搜索 Amazon 文档,也许您会在那里找到所需的所有组件。此外,您是否执行了所有入门步骤?可能缺少一些 Java 部分本身。
更新 1 我在此链接下找到以下内容:https://stackoverflow.com/questions/23921598/getbalance-in-amazon-turk-gives-error
我通过将 mturk.properties 中的 http 更改为 https 来修复此问题:
~/桌面/aws-mona/aws-mturk-clt-1.3.1/bin$ vim mturk.properties
`~/Desktop/aws-mona/aws-mturk-clt-1.3.1/bin$ vim mturk.properties' 改为‘# 使用下面定义的 service_url:service_url=https://mechanicalturk.amazonaws.com/?Service=AWSMechanicalTurkRequester
~/Desktop/aws-mona/aws-mturk-clt-1.3.1/bin$ ./getBalance.sh 您的账户余额:$2.20'