2010-08-15 3 views
8

Я пытаюсь запустить следующую ракету запуская:Запуск приложения Scala в качестве приложения Java

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

непосредственно из Java, как это:

java -cp scala-library.jar HelloWorld 

(очевидно, после того, как compliling с Скале)

но получаю следующее сообщение об ошибке:

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld 
Caused by: java.lang.ClassNotFoundException: HelloWorld 
     at java.net.URLClassLoader$1.run(Unknown Source) 
(...) 
Could not find the main class: HelloWorld. Program will exit. 

Я контролирую что-нибудь тривиальное, что мне нужно сделать, чтобы оно работало?

+0

Посмотрите здесь: http://en.wikipedia.org/wiki/Scala_%28programming_language%29, я ожидаю Scala устанавливает правильные пути к классам, что не хватает от использования Java. –

ответ

12

От Java documentation:

The default class path is the current directory. Setting the CLASSPATH variable or using the -classpath command-line option overrides that default, so if you want to include the current directory in the search path, you must include "." in the new settings.

Добавление .: (или .; на Windows) в начале вашего пути к классам должны работать.

+0

Спасибо, я был уверен, что это было нечто тривиальное. :) –

0

Пожалуйста, попробуйте:

java -cp %SCALA_HOME%\lib\scala-library.jar;. HelloWorld

+0

Вы уверены, что OP использует Windows? –

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