Scala + Linux:找不到jar的主类

时间:2015-05-08 21:53:57

标签: linux scala

我有一个简单的scala程序:

main.scala

object Program {
  def main(args: Array[String]) {
    println("Hello World");
  }
}

它编译得很好:

$ scalac -nowarn -d bin/scala.jar code/main.scala

当我运行它时,我收到错误:

$ scala bin/scala.jar 
Exception in thread "main" java.lang.RuntimeException: Cannot find main class for jar: bin/scala.jar
    at scala.sys.package$.error(package.scala:27)
    at scala.tools.nsc.MainGenericRunner$$anonfun$runTarget$1$1.apply(MainGenericRunner.scala:62)
    at scala.tools.nsc.MainGenericRunner$$anonfun$runTarget$1$1.apply(MainGenericRunner.scala:62)
    at scala.Option.getOrElse(Option.scala:108)
    at scala.tools.nsc.MainGenericRunner.runTarget$1(MainGenericRunner.scala:62)
    at scala.tools.nsc.MainGenericRunner.process(MainGenericRunner.scala:80)
    at scala.tools.nsc.MainGenericRunner$.main(MainGenericRunner.scala:89)
    at scala.tools.nsc.MainGenericRunner.main(MainGenericRunner.scala)

如果我在Windows上执行相同的过程,程序执行就好了。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

Scala无法找到主类,因为ensureDebugId不在包含scala.jar的类路径中。使用Program运行它以设置类路径并在Program中调用main。