2014-07-22 4 views
6

Sto provando a eseguire DynamoDB local su un MAC. Il Amazon official blog dice che devo scaricare il file jar ed eseguire il seguente comando:Eseguire DynamoDB Local con il comando java su Mac OS X

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

Ma ho ottenuto il seguente errore sul terminale MAC OS X:

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

Wut? Il comando non riconosce il parametro -D .. perché?

Sto anche lavorando su Linux (Fedora) e non ho mai avuto problemi con esso.

su Mac OS X, java -version mi dà java version "1.8.0_11"

Quale potrebbe essere il problema? (Non so più di tanto con i comandi java)


Edit 1: Grazie a @Swapnil, possiamo notare che v'è un errore di battitura sul blog di Amazon, hanno usato un carattere trattino sbagliata (EN DASH unicode U + 2013) per l'argomento -D. Si noti che il Amazon documentation (non il blog) non ha l'errore di battitura e si riferisce anche a uno up-to-date binary.

Edit 2: Con il trattino corretta, l'argomento è interpretato da Java, ma ho ancora ricevuto un messaggio (diverso) errore durante la fase di esecuzione:

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

ho riparato così:

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

E 'ora finalmente lavorando ... documentazione Amazon ha alcuni problemi ..

+0

Si può vedere questo giocare fuori in questa altra risposta Stack Overflow, che copre anche come impostare programatically 'java.library.path' se necessario: http://stackoverflow.com/a/35353377/3679676 –

risposta

4

Il seguito sembra funzionare per me, sul mio Mac OS X -

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

Ebbene, il carattere trattino che hai usato in –D sembra essere un personaggio del tutto diverso. Questo probabilmente sta causando il problema.

+1

Ohh !! Sì, grazie mille! Sul [blog di Amazon] (http://aws.amazon.com/de/blogs/aws/dynamodb-local-for-desktop-development/), il trattino utilizzato in -D è in effetti un ** EN DASH * * (U + 2013), ecco perché l'argomento è stato male interpretato. Sono stato impazzito con questo! Grazie! <3 –

2

Per Mac, potrebbe funzionare senza l'opzione -Djava.library.path. Provate il seguente comando:

java -jar DynamoDBLocal.jar 

Inoltre, il link per il download nel blog non punta alla più recente versione di DynamoDB locale. È possibile ottenere l'ultima versione da here. Questo collegamento è presente anche nello AWS Documentation.

Grazie.

+0

+1 per i collegamenti, ma è ** non funziona ** senza l'argomento -Djava.library.path –

0

ho dovuto cambiare due cose: impostare -Djava.library.path=./DynamoDBLocal_lib/

e modificare il il nome della libreria libsqlite4java-osx-libsqlite4java-osx-x86_64

0

Insieme con l'impostazione del -Djava.library.path=./DynamoDBLocal_lib/ ho dovuto copiare libsqlite4java-osx-10.4.jnilib-libsqlite4java-osx-x86_64.dylib.