Classpath Programm aus Programm heraus starten

JMarkus

Mitglied
Hallo,
ich habe ein Java-Programm (Hauptprogramm). Aus diesem heraus möchte ich über einen Menüpunkt ein weiteres Java-Programm (Tool) starten.
Ich habe dazu das Jar-File des Tools in den Classpath des Hauptprogramms eingefügt und kann das Tool nun mittels Main.main(null); starten. Das Problem ist jedoch, dass die Programme nicht unabhängig voneinander laufen. Sprich, wenn ich das Hauptprogramm schließe, wird es erst beendet, wenn ich auch das Tool schließe (vermutlich wegen "dispose on close"). Wie kann man die beiden Programme voneinander entkoppeln??

Besten Dank schon mal.
 
Ich habe es mittlerweile hinbekommen... falls auch mal jemand vor der Frage steht ist hier meine Lösung.
Das entsprechende Tool muss dazu als jar-File an folgender Stelle liegen "Programmverzeichnis/lib".

Java:
private void startToolActionPerformed(ActionEvent evt) {                                                    
        try {
            String path = (new File(this.getClass().getProtectionDomain().getCodeSource().getLocation().toURI())).getParent();
            String separator = System.getProperty("file.separator");
            path = path + separator + "lib" + separator + "Toolname.jar";
            new ProcessBuilder("java", "-jar", path).start();
        } catch (URISyntaxException | IOException ex) {
            System.err.println("Could not start Tool.");
        }
    }
 

Zurück
Oben