没有指定主模块初始化程序(可能是因为没有找到或找到多个主类)

时间:2018-04-29 08:18:59

标签: scala.js

使用以下项目结构:

项目/ 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}})。

1 个答案:

答案 0 :(得分:0)

问题在于使用...而不是class Main。更改后,它按预期工作:

object Main

有或没有明确指定[info] Running my.Main Hello world (似乎指定无效的主类仍然会找到唯一的好类)。