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

Error when trying to use wiremock in sbt. #687

Closed
jaina00 opened this issue Jun 16, 2017 · 5 comments
Closed

Error when trying to use wiremock in sbt. #687

jaina00 opened this issue Jun 16, 2017 · 5 comments

Comments

@jaina00
Copy link

jaina00 commented Jun 16, 2017

Hi,
I am trying to use wiremock in a Scala/Play application. But getting the below error.

My dependencies in build.sbt looks like this:

libraryDependencies ++= Seq(
  "com.github.tomakehurst" % "wiremock" % "2.6.0" % IntegrationTest,
  "org.mockito" % "mockito-core" % "1.9.0" % "test",
  "org.jsoup" % "jsoup" % "1.10.2" % "test",
  "org.scalactic" %% "scalactic" % "3.0.1" % "test, it",
  "org.scalatest" %% "scalatest" % "3.0.1" % "test, it",
  "org.scalatestplus.play" %% "scalatestplus-play" % "3.0.0-RC1" % IntegrationTest,
  guice
)

Please let me know if I am missing something...

java.lang.NoClassDefFoundError: org/eclipse/jetty/http/HttpGenerator$CachedHttpField
        at com.github.tomakehurst.wiremock.jetty9.JettyHttpServer.createServer(JettyHttpServer.java:117)
        at com.github.tomakehurst.wiremock.jetty9.JettyHttpServer.<init>(JettyHttpServer.java:68)
        at com.github.tomakehurst.wiremock.jetty9.JettyHttpServerFactory.buildHttpServer(JettyHttpServerFactory.java:31)
        at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:73)
        at helpers.WiremockHelper.wireMockServer(WiremockHelper.scala:59)
        at helpers.WiremockHelper.wireMockServer$(WiremockHelper.scala:59)
        at controllers.ApplicationControllerITSpec.wireMockServer$lzycompute(ApplicationControllerITSpec.scala:10)
        at controllers.ApplicationControllerITSpec.wireMockServer(ApplicationControllerITSpec.scala:10)
        at helpers.WiremockHelper.startWiremock(WiremockHelper.scala:62)
        at helpers.WiremockHelper.startWiremock$(WiremockHelper.scala:61)
        at controllers.ApplicationControllerITSpec.startWiremock(ApplicationControllerITSpec.scala:10)
        at helpers.IntegrationSpecBase.beforeAll(IntegrationSpecBase.scala:35)
        at helpers.IntegrationSpecBase.beforeAll$(IntegrationSpecBase.scala:33)
        at controllers.ApplicationControllerITSpec.beforeAll(ApplicationControllerITSpec.scala:10)
        at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:212)
        at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
        at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
        at controllers.ApplicationControllerITSpec.run(ApplicationControllerITSpec.scala:10)
        at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:314)
        at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:507)
        at sbt.TestRunner.runTest$1(TestFramework.scala:76)
        at sbt.TestRunner.run(TestFramework.scala:85)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
        at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:185)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
        at sbt.TestFunction.apply(TestFramework.scala:207)
        at sbt.Tests$$anonfun$9.apply(Tests.scala:216)
        at sbt.Tests$$anonfun$9.apply(Tests.scala:216)
        at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
        at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.http.HttpGenerator$CachedHttpField
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        at com.github.tomakehurst.wiremock.jetty9.JettyHttpServer.createServer(JettyHttpServer.java:117)
        at com.github.tomakehurst.wiremock.jetty9.JettyHttpServer.<init>(JettyHttpServer.java:68)
        at com.github.tomakehurst.wiremock.jetty9.JettyHttpServerFactory.buildHttpServer(JettyHttpServerFactory.java:31)
        at com.github.tomakehurst.wiremock.WireMockServer.<init>(WireMockServer.java:73)
        at helpers.WiremockHelper.wireMockServer(WiremockHelper.scala:59)
        at helpers.WiremockHelper.wireMockServer$(WiremockHelper.scala:59)
        at controllers.ApplicationControllerITSpec.wireMockServer$lzycompute(ApplicationControllerITSpec.scala:10)
        at controllers.ApplicationControllerITSpec.wireMockServer(ApplicationControllerITSpec.scala:10)
        at helpers.WiremockHelper.startWiremock(WiremockHelper.scala:62)
        at helpers.WiremockHelper.startWiremock$(WiremockHelper.scala:61)
        at controllers.ApplicationControllerITSpec.startWiremock(ApplicationControllerITSpec.scala:10)
        at helpers.IntegrationSpecBase.beforeAll(IntegrationSpecBase.scala:35)
        at helpers.IntegrationSpecBase.beforeAll$(IntegrationSpecBase.scala:33)
        at controllers.ApplicationControllerITSpec.beforeAll(ApplicationControllerITSpec.scala:10)
        at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:212)
        at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
        at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
        at controllers.ApplicationControllerITSpec.run(ApplicationControllerITSpec.scala:10)
        at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:314)
        at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:507)
        at sbt.TestRunner.runTest$1(TestFramework.scala:76)
        at sbt.TestRunner.run(TestFramework.scala:85)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1$$anonfun$apply$8.apply(TestFramework.scala:202)
        at sbt.TestFramework$.sbt$TestFramework$$withContextLoader(TestFramework.scala:185)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
        at sbt.TestFramework$$anon$2$$anonfun$$init$$1.apply(TestFramework.scala:202)
        at sbt.TestFunction.apply(TestFramework.scala:207)
        at sbt.Tests$$anonfun$9.apply(Tests.scala:216)
        at sbt.Tests$$anonfun$9.apply(Tests.scala:216)
        at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
        at sbt.std.Transform$$anon$3$$anonfun$apply$2.apply(System.scala:44)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:237)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

@tomakehurst
Copy link
Member

This will almost certainly be due to another dependency pulling in a different (incompatible) version of Jetty.

Please post further questions on the mailing list.

@deigote
Copy link

deigote commented Nov 4, 2019

I've got the same issue. Most deps are pulling jetty-http 9.4 but wiremock is pulling 9.2, which gets evicted. Tried to find the mailing list online for further following up this issue, but couldn't find it. Could you point me to some resources to try and see how can I fix that? Thanks!

@deigote
Copy link

deigote commented May 15, 2020

Just found my own comment while searching for the same issue 😅 so just for the record, this was solved for me by switching to either wiremock-standalone or wiremock-jre8 as a dependency.

@usommerl
Copy link

Switching to wiremock-standalone worked for me as well. Thanks @deigote !

@AndyBrownlie
Copy link

a bit late to the party here, but +1 for switching to wiremock-jre8 did the trick for me when I had the following error:

java.lang.NoClassDefFoundError: jakarta/servlet/DispatcherType at com.github.tomakehurst.wiremock.jetty.JettyHttpServerFactory.buildHttpServer(JettyHttpServerFactory.java:31)

TomJKing added a commit to nationalarchives/tdr-api-update that referenced this issue Sep 1, 2023
Latest version of 'wiremock' causing incompatibility issues with Jetty

Recommended solution is to use 'wiremock-standalone': wiremock/wiremock#687
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants