AWS MTurk 命令行工具 - 发生了 JNI 错误

AWS MTurk 命令行工具 - 发生了 JNI 错误

我正在尝试安装并使用 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'

相关内容