J'ai une application de bureau et quand quelqu'un appuie sur un bouton, je veux qu'elle lance une autre machine virtuelle Java qui exécute la méthode principale d'une classe. Mon application de bureau dépend déjà du fichier jar qui contient la classe avec la méthode principale que je veux exécuter.Exécuter la méthode principale Java à partir d'une application Java dans une JVM différente
Actuellement, j'ai le code suivant, cependant, j'espérais leur était une façon de faire plus élégante:
Runtime runtime = Runtime.getRuntime();
Process process = runtime.exec("java -jar another.jar");
Je sais que je peux utiliser ProcessBuilder aussi.
est-il pas possible, comme (excusez le pseudo-code):
Jvm.execute(Main.class);
Depuis la classe principale que je veux appeler existe déjà dans mon classpath, il me fait bizarre d'avoir juste pour exécuter la commande java
via Runtime.
Et vous ne pouvez pas exécuter cette méthode principale à partir de votre code? – Rogach
Le démarrage d'un nouveau thread d'arrière-plan est-il acceptable pour vous? Dans ce cas, vous pouvez même signaler la fin de la tâche à l'utilisateur. –
Un jvm différent est ce que je veux. – digiarnie