Comment appeler la méthode main d'une Scala programme à partir de la méthode principale d'un programme java?
Supposons que j'ai un Scala de classe et une classe Java dans un projet Java et scala classe est comme ci-dessous
class Sam {
def main(args: Array[String]): Unit = {
println("Hello")
}
}
Comment puis-je l'appeler la méthode principale de la méthode principale d'un programme java qui est présent dans le même projet
N'est-ce pas
C'est le travail. Merci beaucoup 🙂
Envisager d'étendre le
Oui, envisagez d'Application. Mais ne considère pas l'Application, qui est obsolète.
En fait, ne considèrent pas
new Sam().main(javaArgs)
à l'intérieur de Java de travail principal?C'est le travail. Merci beaucoup 🙂
Envisager d'étendre le
App
trait.Oui, envisagez d'Application. Mais ne considère pas l'Application, qui est obsolète.
En fait, ne considèrent pas
App
. Jusqu'à ce que App
se débarrasse de la DelayedInit
comportement, vous vous demanderez pourquoi vos champs ne sont pas initialisés. Voir aussi stackoverflow.com/q/29133161/169947 .OriginalL'auteur yAsH | 2013-05-21
Vous devez vous connecter pour publier un commentaire.
Généralement, les principales méthodes sont
static
en Java, et dans unobject
en Scala. Cela vous permet de les exécuter à partir de la ligne de commande. Votre code définit uneclass
, pas unobject
.Je te suggère de changer votre Scala code:
Vous pouvez ensuite appeler à partir de votre Java principale méthode comme suit:
Il y a plusieurs raisons qui pourraient ne pas fonctionner. Par exemple, si le chemin n'a pas été réglé correctement (vous auriez probablement voir une ClassNotFoundException); ou si le nom de la classe spécifiée sur la ligne de commande est incorrecte ("impossible de trouver ou charger la classe principale"). Je suppose que "extrait du projet dans un bocal" se réfère à un IDE fonctionnalité, donc je suppose qu'il pourrait y avoir un problème là aussi. Peut-être ouvrir une nouvelle question avec une description plus détaillée?
OriginalL'auteur Martin Ellis