Spurious Missing Scala tool configuration Error under Play 2.4.x

Spurious Missing Scala tool configuration Error under Play 2.4.x

记录以防其他人遇到此问题。

截至今天,没有关于特定问题的 google 结果。

https://www.google.ca/search?client=safari&rls=en&q=java.lang.RuntimeException:+Missing+Scala+tool+configuration+from+the+'update'+report.++'scala-tool'+is+normally+added+automatically,+so+this+may+indicate+a+bug+in+sbt +or+you+may+be+removing+it+from+ivyConfigurations,+for+example。&ie=UTF-8&oe=UTF-8&gfe_rd=cr&ei=DkSQVavaMYiN8QeooIDgDQ

到目前为止 clean 还没有解决这个问题。

我会退出并重试尽可能多的事情,但这个错误是突然出现的——好吧,我 运行 在另一个 window 中进行了规格测试,它触发了更新(为什么?)那是问题开始的时候。

接下来将尝试 update,看看这是否是一个损坏的更新。

这是发生错误时的堆栈跟踪。

java.lang.RuntimeException: Missing Scala tool configuration from the 'update' report.  'scala-tool' is normally added automatically, so this may indicate a bug in sbt or you may be removing it from ivyConfigurations, for example.
    at scala.sys.package$.error(package.scala:27)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate$$anonfun.apply(Defaults.scala:376)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate$$anonfun.apply(Defaults.scala:376)
    at scala.Option.getOrElse(Option.scala:120)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate.apply(Defaults.scala:375)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate.apply(Defaults.scala:374)
    at scala.Function1$$anonfun$compose.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$$anonfun.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon.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:744)
[error] (*:scalaInstance) Missing Scala tool configuration from the 'update' report.  'scala-tool' is normally added automatically, so this may indicate a bug in sbt or you may be removing it from ivyConfigurations, for example.
java.lang.RuntimeException: Missing Scala tool configuration from the 'update' report.  'scala-tool' is normally added automatically, so this may indicate a bug in sbt or you may be removing it from ivyConfigurations, for example.
    at scala.sys.package$.error(package.scala:27)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate$$anonfun.apply(Defaults.scala:376)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate$$anonfun.apply(Defaults.scala:376)
    at scala.Option.getOrElse(Option.scala:120)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate.apply(Defaults.scala:375)
    at sbt.Defaults$$anonfun$scalaInstanceFromUpdate.apply(Defaults.scala:374)
    at scala.Function1$$anonfun$compose.apply(Function1.scala:47)
    at sbt.$tilde$greater$$anonfun$$u2219.apply(TypeFunctions.scala:40)
    at sbt.std.Transform$$anon.work(System.scala:63)
    at sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit$$anonfun$apply.apply(Execute.scala:226)
    at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
    at sbt.Execute.work(Execute.scala:235)
    at sbt.Execute$$anonfun$submit.apply(Execute.scala:226)
    at sbt.Execute$$anonfun$submit.apply(Execute.scala:226)
    at sbt.ConcurrentRestrictions$$anon$$anonfun.apply(ConcurrentRestrictions.scala:159)
    at sbt.CompletionService$$anon.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:744)

在第一个 clean 之后我得到了这个错误

[info] Loading project definition from (xxx source directory...)
[info] Set current project to (xxx) (in build file:xxx)
java.lang.ClassNotFoundException: play.docs.BuildDocHandlerFactory
    at java.net.URLClassLoader.run(URLClassLoader.java:372)
    at java.net.URLClassLoader.run(URLClassLoader.java:361)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at play.runsupport.Reloader$.startDevMode(Reloader.scala:193)
    at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.devModeServer$lzycompute(PlayRun.scala:73)
    at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.play$sbt$run$PlayRun$$anonfun$$anonfun$$anonfun$$devModeServer(PlayRun.scala:73)
    at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.apply(PlayRun.scala:99)
    at play.sbt.run.PlayRun$$anonfun$playRunTask$$anonfun$apply$$anonfun$apply.apply(PlayRun.scala:52)
    at scala.Function1$$anonfun$compose.apply(Function1.scala:47)
[trace] Stack trace suppressed: run last compile:run for the full output.
[error] (compile:run) java.lang.ClassNotFoundException: play.docs.BuildDocHandlerFactory
[error] Total time: 0 s, completed 28-Jun-2015 3:02:49 PM
1. Waiting for source changes... (press enter to interrupt)

update 之后错误似乎消失了。我现在还有其他编译错误,所以还不能 100% 确定一切都很好。

留下问题以防堆栈跟踪帮助其他人...

update 看来毕竟是这里的灵丹妙药。

仍然不确定为什么它会启动该过程...

我在配置多项目构建时遇到了同样的问题。 只需添加 "com.typesafe.play" %% "play-docs" % "2.4.x" libraryDependencies 或使用 libraryDependencies ++= Seq(...) 而不是 libraryDependencies := Seq(...).

这发生在我工作中途关闭计算机后,我从 git 进行了清理,然后进化并再次运行