无法在Ubuntu

时间:2015-10-11 13:06:20

标签: scala

我有我的第一个Scala程序,它很简单:

object HelloWorld{
    def main(args: Array[String]){
        println("Hello world!")
    }
}

然后我尝试编译它:

$ scalac HelloWorld.scala

它编译时没有任何错误消息。然而,当我尝试像这样运行它时:

$ scala HelloWorld

我收到错误消息:

  

类路径上没有这样的文件或类:HelloWorld

为了实现这一点,我遵循了this教程并解决了出现的错误,我遵循this建议。然而,

$ scala objects.HelloWorld

也行不通。我知道现在很多人会开始大量投票我的问题并提出问题 - 你有没有尝试过阅读一些书籍(是的,我做过。我已经为初学者阅读了Horstman的书,但它不包含任何信息在Ubuntu下编译程序)。不过,我希望有人可以提供帮助。

2 个答案:

答案 0 :(得分:2)

(之前是评论,我将其改为回复。)

除了最后一步之外,你已经做好了一切:使用java命令而不是scala命令。

scala是Scala REPL。 Scala代码不需要单独的运行命令,因为它编译为常规Java字节码。

请尝试:java HelloWorld

但是,对于使用Scala库的更复杂的程序,您需要在类路径中包含Scala运行时库。因此,从长远来看,使用像SBT这样的工具是受益的,正如@roterl在评论中指出的那样。

答案 1 :(得分:2)

答案说scala命令仅适用于REPL是不正确的。您可以在scalahttp://www.scala-lang.org/files/archive/nightly/docs-2.10.2/manual/html/scala.html)的手册页条目中看到它的使用方式与java命令相同,并且可以更灵活地运行REPL ,脚本或已编译的应用程序。

正如一些评论所指出的,这几乎肯定是一个路径问题,这意味着它需要更多的信息来诊断。您可以检查的一件事是scalac命令是否在当前目录中生成了.class文件。如果它位于您运行scala的目录中,则类路径中有关需要.的注释几乎肯定是正确的。