Salut,
une question qui me tarabuste depuis un moment,
j'ai un jar principal qui est lancé par un jar de mise à jour, or je voudrais qu'une fois celui ci lancé, le jar "lanceur" s’arrête.
Je lance mon jar via un processBuilder, que je set en daemon
ici ma méthode d'appel
et ici ma classe processBuilder
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private static void LaunchApplication(ArrayList<String> args) { Lanc_Appli test = new Lanc_Appli(args); Thread standAlo = new Thread(test); standAlo.setDaemon(true); standAlo.start(); }
j'ai fait exprès de ne pas avoir de waitfor, mais j'ai toujours une relation établie malgré des system.exit(0) , bref quelqu'un aurait une idée ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public class Lanc_Appli implements Runnable{ private static Logger logger = Logger.getLogger(Lanc_Appli.class); private ArrayList<String> arguments = new ArrayList<String>(); public Lanc_Appli(ArrayList<String> arguments) { this.arguments =arguments; } @Override public void run() { Process p = null; try { ProcessBuilder pb = new ProcessBuilder(arguments); pb = pb.redirectErrorStream(true); p = pb.start(); AfficheurFlux flux = new AfficheurFlux(p.getInputStream()); new Thread(flux).start(); } catch (IOException e) { logger.fatal("exception processus", e); p.destroy(); } } }
Partager