Scala + Play Framework のプロジェクトで、 sbt のバージョンを 1.3.9 から 1.5.5 にしたところ、以下のエラーが発生しました。
#9 87.82 [error] java.lang.NoSuchMethodError: scala.tools.nsc.Settings.bootclasspath()Lscala/tools/nsc/settings/AbsSettings$AbsSetting; #9 87.83 [error] at play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler$lzycompute(TwirlCompiler.scala:653) #9 87.83 [error] at play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$CompilerInstance.compiler(TwirlCompiler.scala:628) #9 87.83 [error] at play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$.<init>(TwirlCompiler.scala:700) #9 87.83 [error] at play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$PresentationCompiler$.<clinit>(TwirlCompiler.scala) #9 87.84 [error] at play.twirl.compiler.TwirlCompiler$TemplateAsFunctionCompiler$.getFunctionMapping(TwirlCompiler.scala:537) #9 87.84 [error] at play.twirl.compiler.TwirlCompiler$.generateCode(TwirlCompiler.scala:429) #9 87.84 [error] at play.twirl.compiler.TwirlCompiler$.generateFinalTemplate(TwirlCompiler.scala:487) #9 87.84 [error] at play.twirl.compiler.TwirlCompiler$.parseAndGenerateCode(TwirlCompiler.scala:259) #9 87.84 [error] at play.twirl.compiler.TwirlCompiler$.compile(TwirlCompiler.scala:200) #9 87.85 [error] at play.twirl.sbt.TemplateCompiler$.$anonfun$compile$2(TemplateCompiler.scala:60) #9 87.85 [error] at scala.collection.TraversableLike$WithFilter.$anonfun$foreach$1(TraversableLike.scala:985) #9 87.85 [error] at scala.collection.immutable.List.foreach(List.scala:431) #9 87.85 [error] at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:984) #9 87.85 [error] at play.twirl.sbt.TemplateCompiler$.compile(TemplateCompiler.scala:50) #9 87.86 [error] at play.twirl.sbt.SbtTwirl$.$anonfun$compileTemplatesTask$1(SbtTwirl.scala:111) #9 87.86 [error] at scala.Function1.$anonfun$compose$1(Function1.scala:49) #9 87.86 [error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:62) #9 87.86 [error] at sbt.std.Transform$$anon$4.work(Transform.scala:68) #9 87.87 [error] at sbt.Execute.$anonfun$submit$2(Execute.scala:282) #9 87.87 [error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:23) #9 87.87 [error] at sbt.Execute.work(Execute.scala:291) #9 87.87 [error] at sbt.Execute.$anonfun$submit$1(Execute.scala:282) #9 87.87 [error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:265) #9 87.88 [error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:64) #9 87.88 [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) #9 87.88 [error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) #9 87.88 [error] at java.util.concurrent.FutureTask.run(FutureTask.java:266) #9 87.88 [error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) #9 87.88 [error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) #9 87.89 [error] at java.lang.Thread.run(Thread.java:748) #9 87.92 [error] (Compile / twirlCompileTemplates) java.lang.NoSuchMethodError: scala.tools.nsc.Settings.bootclasspath()Lscala/tools/nsc/settings/AbsSettings$AbsSetting;
これに対応する Issue があり、
Play Framework 2.8.8 からはこの不具合が治っているようです。
Play Framework で利用している sbtTwirl というプラグインが、 sbt 1.5 でエラーになっていたらしく、 sbtTwirl のバージョンアップによって治ったようです。