问题描述
这是我第一次遇到此问题,我在Linux和Mac上使用了DynamoDB local,大多数情况下它运行良好,现在我在另一台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 Local:https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DynamoDBLocal.html
解决方法
根据this AWS Support Forum response by an AWS person,此问题不会影响DynamoDB本地实例的工作。
他们确实打算对其进行修复,以便不显示消息,但不会造成功能差异。
我还没有设法使本地实例正常工作,但是可能还有其他与之无关的问题。
,似乎zip版本已损坏。您可以下载.rar文件,它将运行。 .rar在DynamoDBLocal_lib文件夹中具有log4j-core-2.8.jar以及Log4j-api-2.x.jar,它对我有用。
,我只是遇到了完全相同的问题。我尝试了来自欧洲(法兰克福)地区的tar和zip文件。问题仍然存在。我可以在类路径中看到log4j-core软件包,但是由于某种原因它没有被捡起。不确定其他AWS区域是否也损坏。
我通过要求我的一位同事共享他的DynamoDB文件夹来解决此问题。几个月前,他下载了它,它的运行就像一个咒语。
解决方案:AWS需要修复该软件包,否则请查看是否可以请同事帮忙。
,我如何使它工作的是执行以下操作:
将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