Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WireMock Webhook Extension 3.0.0 JAR is broken #2342

Closed
oleg-nenashev opened this issue Aug 30, 2023 · 3 comments · Fixed by #2344
Closed

WireMock Webhook Extension 3.0.0 JAR is broken #2342

oleg-nenashev opened this issue Aug 30, 2023 · 3 comments · Fixed by #2344
Assignees
Labels

Comments

@oleg-nenashev
Copy link
Member

oleg-nenashev commented Aug 30, 2023

Proposal

It looks like https://repo1.maven.org/maven2/org/wiremock/wiremock-webhooks-extension/3.0.0/wiremock-webhooks-extension-3.0.0.jar is a broken JAR. It does not contain all metadata and shaded dependencies (/wiremock/...), and it explodes in Testcontainers when running it

3.0.0 JAR

image

2.35.0 JAR

image

Test log

14:05:33.983 [main] INFO  tc.wiremock/wiremock:3.0.0-1 - Container wiremock/wiremock:3.0.0-1 is starting: 3ddcb89f7a1b4a8db17109c1081937e6c8145e944347a09e2a559fada0b9ec04
14:05:34.608 [main] INFO  org.testcontainers.containers.wait.strategy.HttpWaitStrategy - /strange_babbage: Waiting for 60 seconds for URL: http://localhost:51446/__admin/mappings (where port 51446 maps to container port 8080)
14:05:35.464 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hc/client5/http/io/HttpClientConnectionManager
14:05:35.464 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.lang.Class.forName0(Native Method)
14:05:35.465 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.lang.Class.forName(Unknown Source)
14:05:35.466 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at com.github.tomakehurst.wiremock.extension.Extensions.loadClass(Extensions.java:172)
14:05:35.467 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
14:05:35.467 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(Unknown Source)
14:05:35.467 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
14:05:35.468 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
14:05:35.468 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(Unknown Source)
14:05:35.469 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.Streams$ConcatSpliterator.forEachRemaining(Unknown Source)
14:05:35.470 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
14:05:35.471 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
14:05:35.471 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(Unknown Source)
14:05:35.472 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(Unknown Source)
14:05:35.472 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
14:05:35.472 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.util.stream.ReferencePipeline.forEach(Unknown Source)
14:05:35.473 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at com.github.tomakehurst.wiremock.extension.Extensions.load(Extensions.java:70)
14:05:35.474 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at com.github.tomakehurst.wiremock.core.WireMockApp.<init>(WireMockApp.java:92)
14:05:35.474 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:70)
14:05:35.475 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at com.github.tomakehurst.wiremock.standalone.WireMockServerRunner.run(WireMockServerRunner.java:69)
14:05:35.476 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at wiremock.Run.main(Run.java:23)
14:05:35.477 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: Caused by: java.lang.ClassNotFoundException: org.apache.hc.client5.http.io.HttpClientConnectionManager
14:05:35.477 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
14:05:35.478 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
14:05:35.478 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
14:05:35.479 [docker-java-stream--1372179660] INFO  org.wiremock.integrations.testcontainers.WireMockContainerExtensionsWebhookTest - STDERR: 	... 20 more

Reproduction steps

References

No response

@tomakehurst
Copy link
Member

Looks like it's started overwriting the fat JAR with the thin JAR (ordering dependency).

Attempting a fix by pinning the order for now so that the fat JAR is generated last and overwrites the thin JAR.

@oleg-nenashev
Copy link
Member Author

#2362 FTR

@oleg-nenashev
Copy link
Member Author

It is now fixed by merging in the extension into the core in 3.1.0

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Development

Successfully merging a pull request may close this issue.

2 participants