Как запустить байт-код scala на jvm?

Как запустить скомпилированный код 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?

5
задан Community 23 May 2017 в 11:47
поделиться