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

问题描述 投票:0回答:3

我正在尝试在本地运行 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:java.library.path中没有sqljdbc_auth

我不认为问题是它找不到类,而是它不知道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)

在我的路径中,我有 C:\ProgramData\Oracle\Java\javapath,我认为这是正确的。

我需要 JDK 吗?不只是JRE?我是不是做错了什么?

我认为示例中的路径对于Windows来说可能不正确,但我不认为这是问题所在,我尝试了几十种不同的路径,但它们都说同样的事情。

java amazon-dynamodb
3个回答
47
投票

我们发现 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

这个问题的答案也有帮助 如何从 Powershell 将属性传递到 jar?


10
投票

在发布问题之前最后一次尝试,这次只使用普通的命令提示符而不是 powershell,它就可以工作。示例中的路径运行良好。


0
投票

如果您使用的是window powershell,请使用以下命令

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

© www.soinside.com 2019 - 2024. All rights reserved.