当使用Scala.js 0.6.20(addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.20")
中的project/plugins.sbt
)时,尝试使用sbt 0.13.15导入项目时会发生以下错误:
java.lang.NoSuchMethodError: sbt.package$.Zero()Lsbt/Global$;
at org.scalajs.sbtplugin.ScalaJSPluginInternal$.org$scalajs$sbtplugin$ScalaJSPluginInternal$$scalaJSStageSettings(ScalaJSPluginInternal.scala:254)
at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$22.apply(ScalaJSPluginInternal.scala:446)
at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$22.apply(ScalaJSPluginInternal.scala:446)
at scala.Function2$$anonfun$tupled$1.apply(Function2.scala:54)
at scala.Function2$$anonfun$tupled$1.apply(Function2.scala:53)
类似的问题:https://gitter.im/scala-js/scala-js?at=59b53890b59d55b823db1dcd
作为release notes mention,Scala.js 0.6.20要求sbt 0.13.16或更高。为此,应修改project/build.properties
文件以设置:
sbt.version=0.13.16
(或兼容的东西)
替代方案:将scala.js降级为0.6.19
(例如,对于Coursera课程的顶点)
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.19") >> project/plugins.sbt