我正在尝试使用Scala.js创建一个SPA,因此我从这里开始学习教程:http://www.scala-js.org/tutorial/basic/
我已经将addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.7")添加到plugins.sbt中,将enablePlugins(ScalaJSPlugin)添加到build.sbt中。
然而,我得到了这个错误:
Error:Error while importing SBT project:<br/>...<br/><pre>[info] [SUCCESSFUL ] args4j#args4j;2.0.16!args4j.jar (92ms)
[info] downloading https://repo1.maven.org/maven2/org/webjars/envjs/1.2/envjs-1.2.jar ...
[info] [SUCCESSFUL ] org.webjars#envjs;1.2!envjs.jar (179ms)
[info] Done updating.
java.lang.RuntimeException: Scala.js cannot be run in a forked JVM
at scala.sys.package$.error(package.scala:27)
at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$43.apply(ScalaJSPluginInternal.scala:551)
at org.scalajs.sbtplugin.ScalaJSPluginInternal$$anonfun$43.apply(ScalaJSPluginInternal.scala:549)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.EvaluateSettings$MixedNode.evaluate0(INode.scala:175)
at sbt.EvaluateSettings$INode.evaluate(INode.scala:135)
at sbt.EvaluateSettings$$anonfun$sbt$EvaluateSettings$$submitEvaluate$1.apply$mcV$sp(INode.scala:69)
at sbt.EvaluateSettings.sbt$EvaluateSettings$$run0(INode.scala:78)
at sbt.EvaluateSettings$$anon$3.run(INode.scala:74)
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:745)
[error] Scala.js cannot be run in a forked JVM
[error] Use 'last' for the full log.为什么Scala.js不能与JVM一起工作?
发布于 2016-03-14 00:17:03
这似乎是一个已知的issue
您应该:
这是因为您在同一个sbt项目中混合了JVM和JS两种东西。你不能这么做。您需要单独的sbt项目(在相同的构建中)。有关如何在Play!中使用Scala.js的信息,请参阅https://github.com/vmunier/play-with-scalajs-example。
这是一个example
发布于 2016-03-13 23:52:02
这通常是因为与其他sbt插件发生冲突,这些插件将jvm库包含在与scalajs相同的项目中。如果看不到build.sbt和plugins.sbt的其余部分,就不可能确切地说出是什么导致了冲突。
假设您正在尝试将其与play集成,下面是一个示例项目,可以帮助您入门:
https://stackoverflow.com/questions/35970864
复制相似问题