很确定这是一个重复的问题,但找不到我正在寻找的答案。
我正在尝试使用 WebHook 扩展独立运行 WireMock。两者都打包为 JAR 文件。第一个,wiremock-jre8-standalone-2.28.1.jar
是一个可运行的胖罐子,当我输入时它就像一个魅力:
java -jar wiremock-jre8-standalone-2.28.1.jar
WebHook extensions ( wiremock-webhooks-extension-1.0.0.jar
) 是一个包含类的普通 JAR org.wiremock.webhooks.Webhooks
。我正在尝试以这种方式运行 WireMock:
java -cp wiremock-webhooks-extension-1.0.0.jar \
-jar wiremock-jre8-standalone-2.28.1.jar --extensions org.wiremock.webhooks.Webhooks
我收到以下错误:
Exception in thread "main" java.lang.ClassNotFoundException: org.wiremock.webhooks.Webhooks
我从这个问题中得到的是,如果-jar
在命令行上指定,将-cp
被忽略并MANIFEST
改为使用。所以我试过了
java -cp wiremock-webhooks-extension-1.0.0.jar:wiremock-jre8-standalone-2.28.1.jar \
com.github.tomakehurst.wiremock.standalone.WireMockServerRunner \
--extensions org.wiremock.webhooks.Webhooks
但得到:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/http/client/HttpClient
当然,HttpClient 是 WireMock 依赖项的一部分。WireMock 独立 JAR 清单如下:
Manifest-Version: 1.0
Main-Class: com.github.tomakehurst.wiremock.standalone.WireMockServerR
unner
我想运行胖 JAR,将外部 JAR 添加到类路径,但没有忽略原始依赖项。我怎样才能做到这一点?