Как запустить скомпилированный код scala на jvm?
Когда я пробую следующую команду:
java -cp scala-library.jar -cp bin com.mcmc5.Main
Я получаю следующую ошибку:
Исключение в потоке "main" java.lang.NoSuchMethodError: main
В коде Scala у меня есть объект с именем Main, и в нем определена основная функция. Это работает, если я
scala -cp bin com.mcmc5.Main
, все работает нормально.
Что-то мне не хватает?
Спасибо, thejinx0r
Edit1:
Вот мой код:
Причина, по которой я хочу, чтобы он запускался на JVM, заключается в том, что на сервере, на котором я хочу фактически выполнить байт-код, не установлен scala. Это то, что по сути имеет мой main (перед ним определены некоторые значения и переменные, но по сути:
пакет com.mcmc5
импортировать java.text. {DateFormat, NumberFormat, DecimalFormat, SimpleDateFormat}
import java.util. {Date}
объект Main {def main (args: Array [String]) = {
println (numberOfOutputStructures)
var structureSolver = new MC (20);
structureSolver.start ()
}
}
Но я все равно пытался использовать
java -cp scala-library.jar: bin com.mcmc5.Main
, и я все еще получаю ту же ошибку.
Редактировать 2 Проблема решена.
На самом деле я не верю в это, но у меня это работает.
Итак, я нашел ветку
(если это можно так назвать) и сказал, что Java обычно не любит весь объект . Main extends Application
Но это действительно решило мою проблему. Использование extends Application
вместо определения функции с именем main решило мою проблему. Думаю, это зависит от того, какую версию scala вы используете. Я сейчас использую scala 2.9, возможно, rc2? или rc1?