Hallo,
ich habe ein (hoffentlich kleineres) Problem eine .jar Datei zu starten.
Ich habe eine kleine GUI gemacht, wenn man dort auf einen Button klickt wird über
eine jar-Datei in einem extra Thread gestartet.
Dies funktioniert bereits auch mit 2 anderen .jars so. Diese ist allerdings relativ Speicheraufwändig (>=1GB RAM).
Das ganze verhält sich nun witzigerweise so:
Die jar-Datei wird gestartet, ich erhalte ein paar Zeilen des StdOut-Streams und dann bleibt es plötzlich hängen. Sobald ich aber nun die GUI schließe (also System.exit(0)) aufgerufen wird macht er weiter. Die .jar Datei wird komplett ausgeführt (natürlich sehe ich so nix mehr vom Outputstream etc. aber zumindest die Ergebnisdatei ist nach wenigen Minuten korrekt).
Wenn ich das ganze per cmd/terminal aufrufe klappt alles ganz normal, nur aus java heraus leider nicht.
Meine bisherigen Versuche:
- das ganze mit java -Xmx2G zu starten
- Ohne den StdOut Stream abzufangen
Wie ich schon sagte verfahre ich so auch mit 2 anderen .jar-Dateien dort klappt alles wunderbar. Was die Datei genau macht kann ich nicht sagen, es wird eine XML-Datei analysiert in vielen Schritten.
Ich habe noch eine Vermutung:
Kann es sein das ein Prozess davor die XML-Datei auf der gearbeitet wird sperrt? Es läuft davor ein Prozess der diese XML-Datei anlegt, der 2. (der nicht funktioniert) soll damit nun weiterarbeiten. Falls ja, wie kann ich die ressourcen freigeben lassen?
Hoffe jemand kann mir helfen, wär echt super!
Vielen Dank schonmal im Vorraus
Viele Grüße,
fireflyer
ich habe ein (hoffentlich kleineres) Problem eine .jar Datei zu starten.
Ich habe eine kleine GUI gemacht, wenn man dort auf einen Button klickt wird über
Java:
Process p = Runtime.getRuntime().exec("java -jar anyjar.jar");
Dies funktioniert bereits auch mit 2 anderen .jars so. Diese ist allerdings relativ Speicheraufwändig (>=1GB RAM).
Das ganze verhält sich nun witzigerweise so:
Die jar-Datei wird gestartet, ich erhalte ein paar Zeilen des StdOut-Streams und dann bleibt es plötzlich hängen. Sobald ich aber nun die GUI schließe (also System.exit(0)) aufgerufen wird macht er weiter. Die .jar Datei wird komplett ausgeführt (natürlich sehe ich so nix mehr vom Outputstream etc. aber zumindest die Ergebnisdatei ist nach wenigen Minuten korrekt).
Wenn ich das ganze per cmd/terminal aufrufe klappt alles ganz normal, nur aus java heraus leider nicht.
Meine bisherigen Versuche:
- das ganze mit java -Xmx2G zu starten
- Ohne den StdOut Stream abzufangen
Wie ich schon sagte verfahre ich so auch mit 2 anderen .jar-Dateien dort klappt alles wunderbar. Was die Datei genau macht kann ich nicht sagen, es wird eine XML-Datei analysiert in vielen Schritten.
Ich habe noch eine Vermutung:
Kann es sein das ein Prozess davor die XML-Datei auf der gearbeitet wird sperrt? Es läuft davor ein Prozess der diese XML-Datei anlegt, der 2. (der nicht funktioniert) soll damit nun weiterarbeiten. Falls ja, wie kann ich die ressourcen freigeben lassen?
Hoffe jemand kann mir helfen, wär echt super!
Vielen Dank schonmal im Vorraus
Viele Grüße,
fireflyer