使用以下项目结构:
项目/ build.properties:
sbt.version = 1.1.4
项目/ plugins.sbt:
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.22")
build.sbt:
enablePlugins(ScalaJSPlugin)
name := "scalajs_example"
version := "0.1"
scalaVersion := "2.12.6"
和src / main / scala / my / Main.scala:
package my
class Main {
def main(args: Array[String]): Unit = {
println("Hello world")
}
}
执行sbt run
时出现以下错误:
[错误]未指定主模块初始化程序(可能因为没有 或者发现了多个主要类别,但是 scalaJSUseMainModuleInitializer设置为true。你可以明确地说 使用
mainClass := Some(...)
或使用。指定它scalaJSMainModuleInitializer := Some(...)
[错误](编译/ scalaJSModuleInitializers)未指定主模块初始值设定项 (可能是因为没有找到或有多个主要类别),但是 scalaJSUseMainModuleInitializer设置为true。你可以明确地说 使用mainClass := Some(...)
或使用。指定它scalaJSMainModuleInitializer := Some(...)
将mainClass := Some("my.Main")
添加到build.sbt并重新加载项目没有帮助,尝试sbt run
时仍然存在同样的错误(scalaJSMainModuleInitializer := Some(...)
- 我无法弄清楚要放到{{1}的内容1}})。
答案 0 :(得分:0)
问题在于使用...
而不是class Main
。更改后,它按预期工作:
object Main
有或没有明确指定[info] Running my.Main
Hello world
(似乎指定无效的主类仍然会找到唯一的好类)。