我正在尝试在tomcat下进行scalate工作,但是当它尝试编译scaml模板时它会崩溃。码头没问题。我对这个和一般的tomcat都是新手。似乎github上的scalatra-sbt原型也崩溃了,这让我觉得它的tomcat配置不正确。
org.fusesource.scalate.TemplateException:scala/tools/nsc/settings/ScalaSettings org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:738) org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:595) org.fusesource.scalate.TemplateEngine.liftedTree1$1(TemplateEngine.scala:327) org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:321) org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:391) org.scalatra.scalate.ScalateSupport$class.renderErrorPage(ScalateSupport.scala:50) com.example.MyScalatraFilter.renderErrorPage(MyScalatraFilter.scala:7) org.scalatra.scalate.ScalateSupport$class.handleError(ScalateSupport.scala:46) com.example.MyScalatraFilter.handleError(MyScalatraFilter.scala:7) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(ScalatraKernel.scala:109) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:100) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:100) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:99) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:99) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:99) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:98) com.example.MyScalatraFilter.handle(MyScalatraFilter.scala:7) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:18) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:18) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:18) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:17) com.example.MyScalatraFilter.doFilter(MyScalatraFilter.scala:7) 根本原因 java.lang.NoClassDefFoundError: scala/tools/nsc/settings/ScalaSettings org.fusesource.scalate.support.ScalaCompiler$.create(ScalaCompiler.scala:170) org.fusesource.scalate.TemplateEngine.compiler(TemplateEngine.scala:154) org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:655) org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:595) org.fusesource.scalate.TemplateEngine.liftedTree1$1(TemplateEngine.scala:327) org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:321) org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:391) org.scalatra.scalate.ScalateSupport$class.renderErrorPage(ScalateSupport.scala:50) com.example.MyScalatraFilter.renderErrorPage(MyScalatraFilter.scala:7) org.scalatra.scalate.ScalateSupport$class.handleError(ScalateSupport.scala:46) com.example.MyScalatraFilter.handleError(MyScalatraFilter.scala:7) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(ScalatraKernel.scala:109) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:100) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:100) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:99) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:99) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:99) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:98) com.example.MyScalatraFilter.handle(MyScalatraFilter.scala:7) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:18) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:18) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:18) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:17) com.example.MyScalatraFilter.doFilter(MyScalatraFilter.scala:7) 根本原因 java.lang.ClassNotFoundException:scala.tools.nsc.settings.ScalaSettings org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1484) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1329) org.fusesource.scalate.support.ScalaCompiler$.create(ScalaCompiler.scala:170) org.fusesource.scalate.TemplateEngine.compiler(TemplateEngine.scala:154) org.fusesource.scalate.TemplateEngine.compileAndLoad(TemplateEngine.scala:655) org.fusesource.scalate.TemplateEngine.compileAndLoadEntry(TemplateEngine.scala:595) org.fusesource.scalate.TemplateEngine.liftedTree1$1(TemplateEngine.scala:327) org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:321) org.fusesource.scalate.TemplateEngine.load(TemplateEngine.scala:391) org.scalatra.scalate.ScalateSupport$class.renderErrorPage(ScalateSupport.scala:50) com.example.MyScalatraFilter.renderErrorPage(MyScalatraFilter.scala:7) org.scalatra.scalate.ScalateSupport$class.handleError(ScalateSupport.scala:46) com.example.MyScalatraFilter.handleError(MyScalatraFilter.scala:7) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply$mcV$sp(ScalatraKernel.scala:109) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1$$anonfun$apply$mcV$sp$2.apply(ScalatraKernel.scala:100) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply$mcV$sp(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:100) org.scalatra.ScalatraKernel$$anonfun$handle$1$$anonfun$apply$mcV$sp$1.apply(ScalatraKernel.scala:100) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply$mcV$sp(ScalatraKernel.scala:99) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:99) org.scalatra.ScalatraKernel$$anonfun$handle$1.apply(ScalatraKernel.scala:99) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraKernel$class.handle(ScalatraKernel.scala:98) com.example.MyScalatraFilter.handle(MyScalatraFilter.scala:7) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply$mcV$sp(ScalatraFilter.scala:18) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:18) org.scalatra.ScalatraFilter$$anonfun$doFilter$1.apply(ScalatraFilter.scala:18) scala.util.DynamicVariable.withValue(DynamicVariable.scala:71) org.scalatra.ScalatraFilter$class.doFilter(ScalatraFilter.scala:17) com.example.MyScalatraFilter.doFilter(MyScalatraFilter.scala:7)
关于如何使 scalate 编译器在 tomcat 下工作的任何提示?