2014-07-22 12 views
6

Próbuję uruchomić DynamoDB lokalnie na MAC. Amazon official blog mówi muszę pobrać plik jar i uruchom następujące polecenie:Uruchom DynamoDB Local za pomocą polecenia java na Mac OS X

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

Ale mam następujący błąd na terminalu Mac OS X:

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

Wut? Polecenie nie rozpoznaje parametru -D .. dlaczego?

Pracuję również nad systemem Linux (Fedora) i nigdy nie miałem z tym żadnego problemu.

na Mac OS X, java -version daje mi java version "1.8.0_11"

Co może być problemem? (Nie wiem, że wiele z poleceń java)


Edycja 1: Dzięki @Swapnil, możemy zauważyć, że jest to błąd literówka na blogu Amazon, używali znaku źle myślnik (EN DASH Unicode U + 2013) dla argumentu -D. Zauważ, że Amazon documentation (nie blog) nie ma błędu w pisaniu, a także odnosi się do up-to-date binary.

Edycja 2: Przy prawidłowym kreską, argument jest interpretowany przez Java, ale ja wciąż mam (inny) komunikat o błędzie podczas wykonywania:

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

Naprawiłem go tak:

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

Nadszedł wreszcie działa ... dokumentacja Amazon mieć pewne problemy ..

+0

Możesz zobaczyć to odtwarzanie w tej drugiej odpowiedzi przepełnienia stosu, która obejmuje także programowe ustawienie 'java.library.path' w razie potrzeby: http://stackoverflow.com/a/35353377/3679676 –

Odpowiedz

4

Poniższa wydaje się działać dla mnie na moim Mac OS X -

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

Dobrze, postać kreska użyłeś w –D wydaje się być zupełnie inny charakter. To prawdopodobnie powoduje problem.

+1

Ohh !! Tak, dziękuję bardzo! Na [blogu Amazon] (http://aws.amazon.com/de/blogs/aws/dynamodb-local-for-desktop-development/) myślnik użyty w -D jest w rzeczywistości DASH ** EN. * (U + 2013), dlatego argument został źle zinterpretowany. Zostałem szalony z tego powodu! Dziękuję Ci! <3 –

2

Dla komputerów Mac może działać bez opcji -Djava.library.path. Spróbuj wykonać następujące polecenie:

Link do pliku do pobrania na blogu nie wskazuje na najnowszą wersję DynamoDB Local. Możesz pobrać najnowszą wersję z here. Ten link jest również obecny w AWS Documentation.

Dzięki.

+0

+1 dla linków, ale ** nie działa ** bez argumentu -Djava.library.path –

0

musiałem zmienić dwie rzeczy: skonfigurować -Djava.library.path=./DynamoDBLocal_lib/

i zmienić nazwę biblioteki z libsqlite4java-osx do libsqlite4java-osx-x86_64

0

Wraz z ustawieniem -Djava.library.path=./DynamoDBLocal_lib/ miałem skopiować libsqlite4java-osx-10.4.jnilib do libsqlite4java-osx-x86_64.dylib.