2015-05-08 3 views
0

У меня есть простая программа SCALA:Scala + Linux: Не удается найти основной класс для баночке

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

Scala не может найти основной класс, потому что scala.jar не находится на пути к категории, который содержит Program. Запустите его с помощью scala -cp scala.jar Program, чтобы настроить путь к классам и вызвать главное в программе.

+0

Спасибо Брайан. Когда я вхожу в каталог с 'scala.jar' и запускаю' scala Program', он говорит: «Не могу понять, как запустить target: Program». Есть ли что-нибудь еще, что я должен делать? – wizulus

+1

Имеет ли 'scala.jar' файл класса для' Program'? Если да, попробуйте 'scala -cp scala.jar Program' загрузить' scala.jar' в путь к классам. – Brian

+0

Это сработало! Не могли бы вы обновить ответ для будущих поколений, чтобы воспользоваться этими знаниями? – wizulus

Смежные вопросы