错误:无法找到或加载主类.library.path =

时间:2016-06-04 05:57:09

标签: java amazon-dynamodb

我正在尝试在本地运行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,但我不认为这是问题,我已经尝试过几十种不同的路径,但它们都说同样的事情。

2 个答案:

答案 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,它可以工作。示例中的路径工作正常。