Reputation: 640
I started getting this error yesterday when using the embedded 'jetty-run' task in SBT. I reverted my code to a previous version and it's still happening.
Note that I packaged up the application and deployed it in an actual jetty instance and I don't get the error. I started getting this error after adding some dependencies to my project (may or may not be related), but have since removed them.
I tried 'clean' 'clean-lib' and 'clean-cache' as well as cleaning out my ~/.m2/repository, ~/.ivy2/cache and project/boot directories.
Anybody have any other ideas?
The line that is blowing up is:
templateEngine.layout(uri, Map("flash" -> flash))
More of the stack trace is below:
org.fusesource.scalate.TemplateException: loader constraint violation: when resolving method "scala.tools.nsc.Settings.(Lscala/Function1;)V" the class loader (instance of sbt/jetty/LazyJettyRun7$SbtWebAppLoader$1) of the current class, org/fusesource/scalate/support/ScalaCompiler, and the class loader (instance of java/net/URLClassLoader) for resolved class, scala/tools/nsc/Settings, have different Class objects for the type scala/Function1 used in the signature at org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:775) at org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:637) at org.fusesource.scalate.TemplateEngine.liftedTree1$1(TemplateEngine.scala:368) at org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:362) at org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:420) at org.fusesource.scalate.TemplateEngine.layout(TemplateEngine.scala:521) at com.ford.testbuilder.web.AppDefaults$class.com$ford$testbuilder$web$AppDefaults$$render(SharedTraits.scala:79) at com.ford.testbuilder.web.AppDefaults$$anonfun$6.apply(SharedTraits.scala:52) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2$$anonfun$6.apply(ScalatraKernel.scala:133) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2$$anonfun$6.apply(ScalatraKernel.scala:133) at scala.collection.LinearSeqOptimized$class.foreach(LinearSeqOptimized.scala:61) at scala.collection.immutable.List.foreach(List.scala:45) at scala.collection.generic.TraversableForwarder$class.foreach(TraversableForwarder.scala:44) at scala.collection.mutable.ListBuffer.foreach(ListBuffer.scala:42) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(ScalatraKernel.scala:133) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:121) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:121) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:121) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:121) at org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:121) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:120) at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:120) at org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:120) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) at org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:119) at com.ford.testbuilder.web.LoginServlet.org$scalatra$CookieSupport$$super$handle(LoginServlet.scala:10) at org.scalatra.CookieSupport$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(CookieSupport.scala:102) at org.scalatra.CookieSupport$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(CookieSupport.scala:102) at org.scalatra.CookieSupport$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(CookieSupport.scala:102) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) at org.scalatra.CookieSupport$$anonfun$handle$1.apply$mcV$sp(CookieSupport.scala:101) at org.scalatra.CookieSupport$$anonfun$handle$1.apply(CookieSupport.scala:101) at org.scalatra.CookieSupport$$anonfun$handle$1.apply(CookieSupport.scala:101) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) at org.scalatra.CookieSupport$class.handle(CookieSupport.scala:100) at com.ford.testbuilder.web.LoginServlet.org$scalatra$FlashMapSupport$$super$handle(LoginServlet.scala:10) at org.scalatra.FlashMapSupport$$anonfun$handle$1.apply$mcV$sp(flashMap.scala:101) at org.scalatra.FlashMapSupport$$anonfun$handle$1.apply(flashMap.scala:100) at org.scalatra.FlashMapSupport$$anonfun$handle$1.apply(flashMap.scala:100) at scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) at org.scalatra.FlashMapSupport$class.handle(flashMap.scala:100)
Upvotes: 0
Views: 996
Reputation: 640
I figured this out after trying a fresh checkout on someone else's machine (which was working fine) and comparing the classpaths. I found that I had both the scala-library-2.8.1.jar as well as the scala-library.jar in my classpath.
This was caused by the following line in my project file:
override def filterScalaJars = false
Wasted the better part of a day on this :(
Upvotes: 1