我正在尝试在MAC上本地运行DynamoDB . Amazon official blog说我必须下载jar文件并运行以下命令:
$ java –Djava.library.path=. -jar DynamoDBLocal.jar
但是我在MAC OS X终端上遇到以下错误:
错误:无法找到或加载主类-Djava.library.path = .
武汉理工大学?命令接缝不识别-D参数..为什么?
我也在研究Linux(Fedora),我从来没有遇到任何问题 .
在MAC OS X上, java -version
给了我 java version "1.8.0_11"
可能是什么问题呢? (我对java命令不太了解)
Edit 1 :感谢@Swapnil,我们注意到亚马逊博客上存在拼写错误,他们使用了错误的破折号字符(EN DASH unicode U 2013)作为 -D
参数 . 请注意,Amazon documentation(不是博客)没有拼写错误,也指up-to-date binary .
Edit 2 :使用正确的破折号,参数由java解释,但在运行时仍然有一个(不同的)错误消息:
SEVERE:[sqlite] SQLiteQueue [AKID_eu-west-1.db]:运行作业队列错误com.almworks.sqlite4java.SQLiteException:[ - 91]无法加载库:java.lang.UnsatisfiedLinkError:no sqlite4java-osx-x86_64 in的java.library.path
我这样解决了:
java -Djava.library.path=./DynamoDBLocal_lib/ -jar DynamoDBLocal.jar
它现在终于工作了...亚马逊文档有一些问题..
4 回答
我不得不改变两件事:设置
-Djava.library.path=./DynamoDBLocal_lib/
并将库名称从
libsqlite4java-osx
更改为libsqlite4java-osx-x86_64
以下似乎适用于我的Mac OS X -
嗯,你在
–D
中使用的破折号字符似乎完全是一个不同的角色 . 这可能是导致问题的原因 .对于Mac,它可以在没有-Djava.library.path选项的情况下工作 . 请尝试以下命令:
此外,博客中下载的链接并未指向最新的DynamoDB Local版本 . 您可以从here获取最新版本 . 此链接也出现在AWS Documentation中 .
谢谢 .
随着
-Djava.library.path=./DynamoDBLocal_lib/
的设置,我不得不将libsqlite4java-osx-10.4.jnilib
复制到libsqlite4java-osx-x86_64.dylib
.