我有我的第一个Scala程序,它很简单:
object HelloWorld{
def main(args: Array[String]){
println("Hello world!")
}
}
然后我尝试编译它:
$ scalac HelloWorld.scala
它编译时没有任何错误消息。然而,当我尝试像这样运行它时:
$ scala HelloWorld
我收到错误消息:
类路径上没有这样的文件或类:HelloWorld
为了实现这一点,我遵循了this教程并解决了出现的错误,我遵循this建议。然而,
$ scala objects.HelloWorld
也行不通。我知道现在很多人会开始大量投票我的问题并提出问题 - 你有没有尝试过阅读一些书籍(是的,我做过。我已经为初学者阅读了Horstman的书,但它不包含任何信息在Ubuntu下编译程序)。不过,我希望有人可以提供帮助。
答案 0 :(得分:2)
(之前是评论,我将其改为回复。)
除了最后一步之外,你已经做好了一切:使用java
命令而不是scala
命令。
scala
是Scala REPL。 Scala代码不需要单独的运行命令,因为它编译为常规Java字节码。
请尝试:java HelloWorld
但是,对于使用Scala库的更复杂的程序,您需要在类路径中包含Scala运行时库。因此,从长远来看,使用像SBT这样的工具是受益的,正如@roterl在评论中指出的那样。
答案 1 :(得分:2)
答案说scala
命令仅适用于REPL是不正确的。您可以在scala
(http://www.scala-lang.org/files/archive/nightly/docs-2.10.2/manual/html/scala.html)的手册页条目中看到它的使用方式与java
命令相同,并且可以更灵活地运行REPL ,脚本或已编译的应用程序。
正如一些评论所指出的,这几乎肯定是一个路径问题,这意味着它需要更多的信息来诊断。您可以检查的一件事是scalac
命令是否在当前目录中生成了.class
文件。如果它位于您运行scala
的目录中,则类路径中有关需要.
的注释几乎肯定是正确的。