2016-06-04 5 views
7

Ich versuche DynamoDB vor Ort, mit den Anweisungen hier zu laufen:Fehler: Konnte keine Hauptklasse .library.path finden oder laden =

http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html

ich die Zip-Datei heruntergeladen haben, und alles dekomprimiert in einen Ordner.

Ich bin auf Windows 10.

In Powershell, die in diesem Verzeichnis, wenn ich laufen:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

ich:

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

ich das gelesen habe, die ist sehr ähnlich - am nächsten könnte ich finden, aber es hat nicht geholfen: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path

Ich glaube nicht, das Problem ist, dass es die Klasse nicht finden kann, es ist, dass es nicht weiß, was Bibliothek.Pfad bedeutet.

Ich habe Java installiert ist:
C:\Dynamo> java -version java version "1.8.0_91" Java(TM) SE Runtime Environment (build 1.8.0_91-b15) Java HotSpot(TM) Client VM (build 25.91-b15, mixed mode)

In meinem PATH Ich habe C: \ Programdata \ Oracle \ Java \ javapath die ich denke, korrekt ist.

Benötige ich das JDK? nicht nur JRE? Mache ich etwas anderes falsch?

Ich denke, dass der Pfad im Beispiel für Windows möglicherweise nicht korrekt ist, aber ich denke nicht, dass das das Problem ist, habe ich Dutzende von verschiedenen Wegen ausprobiert, aber sie alle sagen dasselbe.

Antwort

12

Wir haben festgestellt, dass PowerShell den Parameter -Djava.library.path falsch interpretiert. Wenn Sie entweder den Parameternamen oder den vollständigen Namen & einfügten, wurde das Problem in unserem Fall behoben.

java -D"java.library.path"=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb

oder

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

Die Antworten auf diese Frage half auch How to pass Properties to jar from Powershell?

11

Noch einmal vor dem Posten der Frage versucht, diesmal mit nur einer normalen Eingabeaufforderung statt Powershell und es funktioniert. Der Pfad im Beispiel funktionierte einwandfrei.

+0

Sie so vielen Dank für Ihre Frage und Antwort! Das ist genau das gleiche Problem, das ich hatte und Ihre Antwort half mir, die Lösung zu finden. – user2407334

+0

Bitte sehen Sie @ Mikes Antwort. Seine Antwort bietet eher eine Lösung als eine Umgehung. – Halil