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)
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 !
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!