¿Cómo ejecuto el código scala compilado en jvm?¿Cómo se ejecuta scala bytecode en el jvm?
Cuando intento el siguiente comando:
java -cp scala-library.jar -cp bin com.mcmc5.Main
me sale el siguiente error: Exception in thread "main" java.lang.NoSuchMethodError: main
En el código Scala, tengo un objeto llamado principal y se ha definido la función principal ahí. Funciona si lo hago scala -cp bin com.mcmc5.Main
, funciona bien.
¿Hay algo que me falta?
Gracias, thejinx0r
Edit1: Aquí está mi código: La razón por la que desea que se ejecute en la JVM se debe a que el servidor en el que desea ejecutar realmente el código de bytes no tiene Scala instalado Esto es lo que mi principal tiene esencialmente (que tiene algunos valores y variables definidas antes, pero esencialmente:.
package com.mcmc5
import java.text.{DateFormat, NumberFormat, DecimalFormat, SimpleDateFormat}
import java.util.{Date}
object Main { def main(args: Array[String]) = {
println(numberOfOutputStructures)
var structureSolver = new MC(20);
structureSolver.start()
}
}
Pero todavía intentado usar java -cp scala-library.jar:bin com.mcmc5.Main
y yo todavía tengo el mismo error
Editar 2 Problema resuelto.
Así que en realidad no creen esto, pero esto funciona para mí.
Así que había encontrado un thread (si se puede llamar así) y dijo que java generalmente no le gusta el conjunto object Main extends Application
Pero, eso realmente resolvió mi problema. Al usar extends Application
en lugar de definir una función llamada main resolvió mi problema. Supongo que depende de qué versión de scala estés usando. Actualmente estoy en scala 2.9, rc2 quizás? o rc1?
sería bueno ver su código para ayudarlo – axaluss
Como mencionó Ernest: Solo se usará la última opción -cp. ¡No especifique dos! – ziggystar
Con una línea de comando 'scala -cp bin com.mcmc5.Main', ya está ejecutando su código Scala en la JVM. ¿Por qué quieres hacerlo explícitamente usando el comando 'java'? – Jesper