Run DynamoDB Local with the java command on Mac OS X

Question:

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:

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:

It’s now finally working… Amazon documentation have some problems..

Answer:

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

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

Leave a Reply