2011-09-15 25 views
9

IntelliJ IDEA 10.5 (probablemente esto importe).¿Cómo mover el método principal a otra clase en Scala?

Soy nuevo en Scala, así que comencé de una manera incómoda. Creé un archivo con dos clases: MainApp vacía y otra clase, HelloWorld con el método main.

Lo compilé y ejecuté - IntelliJ detectó automáticamente HelloWorld como clase principal. Estuvo bien.

Luego, moví el método principal a MainApp, y eliminé (luego vacío) la clase HelloWorld. Cuando traté de ejecutarlo, IntelliJ se adhirió a HelloWorld sin embargo. Así que reconfiguré el proyecto y seleccioné MainApp como clase principal.

Traté de correr con tal resultado:

principal método MainApp debe ser estática

Estoy completamente desconcertado. En primer lugar, Scala no tiene métodos estáticos. En segundo lugar, porque no compila ahora, cuando se compiló antes (con la clase HelloWorld). Pensé que el único requisito es tener un método principal.

Gracias de antemano por su ayuda.

Tenga en cuenta: Sé que puedo comenzar un nuevo proyecto desde cero para evitar el problema por completo, pero me gustaría aprender algo, es decir, llegar a conocer lo que está pasando, y la fijación de este proyecto.

+0

Publique el código de MainApp. – jpalecek

Respuesta

11

métodos estáticos en Java corresponden aproximadamente a métodos singleton en Scala. Debe tener

object MainApp { 
    def main(args : Array[String]) = ... 
} 

en su código, no class MainApp.

+0

Muchas gracias, estúpido error de novato ;-) – greenoldman

Cuestiones relacionadas