Wiremock: Error when trying to use wiremock in sbt.

Created on 16 Jun 2017  路  4Comments  路  Source: tomakehurst/wiremock

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)

Most helpful comment

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!

All 4 comments

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.

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!

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.

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

Was this page helpful?
0 / 5 - 0 ratings