我正在尝试在本地运行DynamoDB,其中包含以下说明:
http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
我已经下载了zip文件,并将所有内容解压缩到一个文件夹中。
我在Windows 10上。
在Powershell中,当我运行时在该目录中:
java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
我明白了:
Error: Could not find or load main class .library.path=..DynamoDBLocal_lib
我已经读过非常相似的内容了 - 我能找到最接近的但是它没有帮助: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path
我不认为问题在于它无法找到课程,因为它不知道library.path的含义。
我安装了java:
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)
在我的PATH中,我认为C:\ ProgramData \ Oracle \ Java \ javapath是正确的。
我需要JDK吗?不仅仅是JRE?我做错了吗?
我认为示例中的路径可能不适用于Windows,但我不认为这是问题,我已经尝试过几十种不同的路径,但它们都说同样的事情。
答案 0 :(得分:25)
我们发现PowerShell误解了-Djava.library.path
参数。
包含参数名称或整个名称&价值在我们的案例中解决了这个问题。
java -D"java.library.path"=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
或
java "-Djava.library.path=./DynamoDBLocal_lib" -jar DynamoDBLocal.jar -sharedDb
这个问题的答案也有帮助 How to pass Properties to jar from Powershell?
答案 1 :(得分:10)
在发布问题之前最后一次尝试,这次只是一个正常的命令提示符而不是powershell,它可以工作。示例中的路径工作正常。