我如何编译Scala Hello World应用程序



我是Scala新手,以前从未用它编写或编译过程序。我正在尝试简单地运行下面的Hello World示例,我已将其保存在文件名scalaApp.scala

object scalaApp extends App {
    def main(args: Array[String]) {
      println("Hello, world!")
    }
}

当我进入文件目录中的终端并输入"scalac scalaApp. exe"。,我得到以下错误信息:

scalaApp.scala:4: error: overriding method main in trait App of type (args:    Array[String])Unit;
 method main needs `override' modifier
    def main(args: Array[String]) {
        ^
one error found

我以为我已经按照所有的说明正确地在我的计算机上安装了Scala 2.10.3,但是我不知道如何测试它,因为我甚至不会编译这个简单的程序。如果我在终端中输入"scala",我确实会得到一个scala提示符,在这个提示符上我可以运行"1 + 1"这样的命令。我不确定这说明了什么。我在~/中添加了SCALA_HOME变量。并将SCALA_HOME添加到~/.profile中的PATH变量中。如果有人能告诉我我做错了什么,或者给我一个建议,告诉我在哪里可以找到答案,我将不胜感激。

由于App扩展了DelayedInit,所以不应该定义main函数

这应该足够了:

object scalaApp extends App {
     println("Hello, world!")
}

编译器为您创建这个函数,并将它传递给delayedInit(x: => Unit)方法(注意参数中的名称调用)。

编译器会发出:

object Main extends DelayedInit {
  def delayedInit(x: => Unit = { println("Hello, worl!") }) = // impl is left for us to fill in
}

当您正在编译.jar文件时,我遇到了错误。

spark-submit-2.2 sequential-assembly-1.0.0-SNAPHOST.jar
Error: No main class set in JAR; please specify one with --class
然后我把我的代码附加到
object getdata{
    def main(args: Array[String])={
        println("Hello World")
    }
}

相关内容

  • 没有找到相关文章

最新更新