在 MAC 上运行 wiremock.jar 时出现“无法加载类 org.slf4j.impl.StaticLoggerBinder”错误

yoy*_*hax 5 java slf4j wiremock

用java -jar wiremock-standalone.jar在终端运行WireMock的情况如何?不应该启用控制台日志记录吗?

脚步:

  1. 我从以下位置下载了 jar:http : //repo1.maven.org/maven2/com/github/tomakehurst/wiremock-standalone/2.9.0/wiremock-standalone-2.9.0.jar

  2. 运行它并得到错误: 错误截图

  3. 检查我的java版本并升级到最新,但没有帮助: java升级,但没有帮助

A. *_*tra 4

在我看来,您正在尝试以独立的方式开始特定的课程。这不起作用,因为 WireMock 依赖于许多不属于此 jar 的其他类/jar。

因此,发布了单独的独立版本,可以在此处下载Maven 存储库。有关如何启动此版本的说明可以在此处找到WireMock 用户指南

启动独立版本时,会显示一个标准错误,不会导致任何功能问题:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Run Code Online (Sandbox Code Playgroud)

为了消除此错误,请下载slf4j-nop-1.7.9.jar并将其放置在您的类路径中。或者将其放在 WireMock jar 旁边并将命令调整为:

Windows 示例

java -cp "slf4j-nop-1.7.9.jar;wiremock-standalone-2.15.0.jar" com.github.tomakehurst.wiremock.standalone.WireMockServerRunner --port 9999 --global-response-templating
Run Code Online (Sandbox Code Playgroud)

Mac 示例

java -cp "slf4j-nop-1.7.9.jar:wiremock-standalone-2.15.0.jar" com.github.tomakehurst.wiremock.standalone.WireMockServerRunner --port 9999 --global-response-templating
Run Code Online (Sandbox Code Playgroud)

在您的屏幕截图中,我看到您正在运行 2.9.0,而当前版本是 2.15.0。我建议将wiremock升级到这个版本。