16

这是我第一次遇到这个问题,我在 Linux 和 Mac 上使用了本地 DynamoDB,并且大部分时间它工作正常,现在我在另一台 Mac 机器上,它只是抛出一个错误。

我得到的错误信息是:

ERROR StatusLogger Log4j2 could not find a logging implementation. 
Please add log4j-core to the classpath. Using SimpleLogger to log to the console...

我尝试通过自制软件安装它,但它抛出了同样的错误。我可能在我的机器上搞砸了一些东西,或者可能错过了一些配置。

以下是我尝试运行它时的屏幕截图:

在此处输入图像描述

参考:
Dynamo DB 本地:https ://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html

4

4 回答 4

9

根据AWS 人员的此 AWS 支持论坛响应,此问题不会影响 DynamoDB 本地实例的工作。

他们确实打算修复它,以便不显示消息,但不会产生功能上的差异。

我还没有设法让我的本地实例工作,但可能还有其他不相关的问题。

在此处输入图像描述

于 2020-11-07T08:56:04.727 回答
4

我如何让它发挥作用是执行以下操作:

将 jar 文件的内容提取到单独的文件夹中

jar xf DynamoDBLocal_Orig.jar

将以下内容添加到 pom.xml

<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-to-slf4j</artifactId>
    <version>${log4j.version}</version>
</dependency

编辑 META-INF/MANIFEST.MF 文件并添加

DynamoDBLocal_lib/log4j-core-2.13.3.jar

压缩到一个新的罐子里

jar cmvf META-INF/MANIFEST.MF DynamoDBLocal.jar *

将 DynamoDBLocal.jar 从基本文件夹重命名为 DynamoDBLocal_old.jar

将新创建的 DynamoDBLocal.jar 移动到基本文件夹。

从https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.13.3下载 log4j-core-2.13.3.jar

将 log4j-core-2.13.3.jar 放在 DynamoDBLocal_lib 文件夹中

java -Djava.library.path=./DynamoDBLocal_lib -jar DynamoDBLocal.jar -sharedDb
于 2020-11-05T04:57:05.297 回答
3

似乎 zip 版本已损坏。您可以下载 .rar 文件,它会工作。.rar 在 DynamoDBLocal_lib 文件夹中有 log4j-core-2.8.jar 和 Log4j-api-2.x.jar,它对我有用。

于 2020-10-29T13:25:56.957 回答
3

我只是遇到了同样的问题。我尝试了来自欧洲(法兰克福)地区的 tar 和 zip 文件。问题仍然存在。我可以在类路径中看到 log4j-core 包,但不知何故它没有被拾取。不确定其他 AWS 区域是否也已损坏。

我通过让我的一位同事分享他的 DynamoDB 文件夹来解决这个问题。他几个月前下载了它,它的工作就像一个魅力。

解决方案:AWS需要修复包,否则看能否请同事帮忙。

于 2020-10-29T13:54:33.657 回答