2010-12-08 37 views
0

Possible en double:
how to restart java application, remembering its command line argumentsComment faire pour redémarrer l'application après une erreur?

Salut, Je développe un éditeur en Java et je veux qu'il offre la possibilité de redémarrer l'application entière après une erreur.

Je définis le gestionnaire d'exception en utilisant Thread.setDefaultUncaughtExceptionHandler, et j'y affiche une boîte de message, c'est facile. Ce dont j'ai besoin, c'est de fermer l'application et de la redémarrer avec le même fichier.

Des idées?

Répondre

0

Démarrez l'application en appelant Runtime.exec("my_startup_command"); N'attendez pas la fin, ne lisez pas la sortie de processus.

1

Vous pouvez le faire avec

Runtime.getRuntime() exec ("java jar" de location.of.your.. pot ");

Pour obtenir l'emplacement du pot:

public static File getJarFile(Class main) { 
    try { 
     File f = new File(main.getProtectionDomain().getCodeSource().getLocation().toURI()); 
     return f; 
    } catch (URISyntaxException ex) { 
     return null; 
    } 
} 
0

Que faisons-nous quand nous voulons nous lever tôt le matin? Nous disons à quelqu'un dans notre maison de nous réveiller ou nous mettons en place une alarme. Donc, la même chose peut être appliquée à ce scénario. Faire une application complètement indépendante de votre application principale qui travaillera en tant que "Invoker" pour votre application principale. Et sous la commande Restart, démarrez simplement l'application invoker avec tous les arguments de la ligne de commande et quittez votre application principale. Puis, après un certain temps (quelle que soit l'heure définie), votre application invocatrice démarrera votre application principale.