Run DynamoDB Local with the java command on Mac OS X

試著忘記壹切 提交于 2019-12-21 12:36:55

问题


I'm trying to run DynamoDB local on a MAC. The Amazon official blog says I have to download the jar file and run the following command:

$ java –Djava.library.path=. -jar DynamoDBLocal.jar

But I got the following error on MAC OS X terminal:

Error: Could not find or load main class –Djava.library.path=.

Wut? The command seams not to recognise the -D parameter.. why?

I'm also working on Linux (Fedora) and I never had any problem with it.

On MAC OS X, java -version gives me java version "1.8.0_11"

What could be the problem? (I don't know that much with java commands)


Edit 1: Thanks to @Swapnil, we can notice that there is a typo error on the Amazon blog, they used a wrong dash character (EN DASH unicode U+2013) for the -D argument. Note that the Amazon documentation (not the blog) does not have the typo error and also refers to an up-to-date binary.

Edit 2: With the correct dash, the argument is interpreted by java, but I still got a (different) error message during runtime:

SEVERE: [sqlite] SQLiteQueue[AKID_eu-west-1.db]: error running job queue com.almworks.sqlite4java.SQLiteException: [-91] cannot load library: java.lang.UnsatisfiedLinkError: no sqlite4java-osx-x86_64 in java.library.path

I fixed it like that:

java -Djava.library.path=./DynamoDBLocal_lib/  -jar DynamoDBLocal.jar

It's now finally working... Amazon documentation have some problems..


回答1:


The below seems to work for me on my Mac OS X -

java -Djava.library.path=. -jar your_jar 

Well, the dash character you've used in –D seems to be a different character altogether. That's probably causing the problem.




回答2:


For Mac, it might work without -Djava.library.path option. Try the following command:

java -jar DynamoDBLocal.jar

Also, the link to the download in the blog does not point to the latest DynamoDB Local version. You can get the latest version from here. This link is also present in the AWS Documentation.

Thanks.




回答3:


Along with setting the -Djava.library.path=./DynamoDBLocal_lib/ I had to copy libsqlite4java-osx-10.4.jnilib to libsqlite4java-osx-x86_64.dylib.




回答4:


I had to change two things: set up -Djava.library.path=./DynamoDBLocal_lib/

and change the the library name from libsqlite4java-osx to libsqlite4java-osx-x86_64



来源:https://stackoverflow.com/questions/24894109/run-dynamodb-local-with-the-java-command-on-mac-os-x

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!