# Jar File läuft unter Windows aber nicht unter linux



## Thaflasher (22. Nov 2011)

Hi Forum,

ich hab mir ein hübsches Java Programm erstellt. Hab aus dem Program eine .jar File erstellt und alle libs eingetragen. Da das Program eigendlich nur im Hintergrund läuft muss man nicht mehr machen als die "start.jar" auszuführen.

Unter Windows 7 funktioniert das einwandfrei, leider macht das ganze unter Debian Linux nicht so ganz mit.

Es startet zwar und erstellt auch 2 Backup-Dateien wie gewünscht, jedoch verschwindet der Prozess aber leider nicht in den Hintergrund wo er auf Netzwerkverkehr warten soll, d.h. der Terminal hängt (benutze Putty).


Woran könnte das liegen?

Meine Linux-Kenntnisse sind leider noch etwas beschränkt 


Habe die Installation mit apt-get install sun-java6-jre sun-java6-jdk durchgeführt.

Wenn ich "java -version" eingebe bekomme ich: 1.6.0_26-b03 d.h. mit Java selbst sollte eigendlich alles in Ordnung sein.

Die "Ausführen" Berechtigung ist ebenfalls gesetzt.

Ausgeführt hab ich sie mit "Java -jar -myFile.jar"


Ich bin zwar noch fleissig am :rtfm: aber mangels Fehlermeldungen weiss ich nicht so recht nach was ich suchen soll 


Kann jemand helfen?

Danke im voraus!


----------



## Gast2 (22. Nov 2011)

Häng mal hinterdran noch nen "
	
	
	
	





```
Leerzeichen &
```
", das sollte dein Programm im Hintergrund laufen lassen.


----------



## Thaflasher (22. Nov 2011)

Ok sieht gut aus, danke für die fixe Antwort


----------



## irgendjemand (22. Nov 2011)

alternativ kann man auch noch "screen" verwenden ... damit erstellst du virtuelle terminals die du dann in den hintergrund legen kannst ...
hat den vorteil : du kannst das entsprechende virtuelle terminal wieder in den vordergrund holen und das programm z.b. mit STRG+C abbrechen oder eventuellen debug-output lesen


----------



## HoaX (22. Nov 2011)

Alternative mit reinem Javacode: Daemon-Threads verwenden und main beenden lassen.

```
static void realMain(String...args) {
 ...someCode...
}

public static voidm main(final String... args) {
     Thread t = new Thread() {
          public run() {
                 realMain(args);
          }
     };
     t.setDaemon(true);
     t.start();
}
```

so in der Art. (ungetestet)


----------



## irgendjemand (23. Nov 2011)

ah .. wunderschöner fail eines möchtegern-gotts ...

du weist schon das es für java folgende eindeutige ausführungs-anweisung gibt :

programm terminiert so bald alle NOT-deamon-Threads beendet wurden ...

heißt also : so bald der main-thread beendet wurde wurden damit alle NOT-deamon-Threads abgeschlossen und die aktuelle VM-instanz wird terminiert ... und damit auch alle noch laufenden deamon-Threads ... das heißt : dein code würde nach dem Thread.start() einfach terminieren ...


*wunderschön ... ihr behauptet von euch ihr wärt java-götter und ich wäre nur am trollen ... und postet dann so einen totalen blödsinn ... vielleicht solltet ihr wirklich mal überlegen WER hier eigentlich am trollen ist ...*


----------



## Gast2 (23. Nov 2011)

haha, made my day


----------



## maki (23. Nov 2011)

irgendjemand sollte mehr Zeit mit seinem Therapeuten verbringen *g*


----------



## irgendjemand (24. Nov 2011)

*funny*

ein MOD heult rum das ein GUEST sich n geistesgestörtes haustier zulegen sollte anstatt den fehler zu korrigieren ... *troll 4 ever =D*


----------



## maki (24. Nov 2011)

@Troll/Therealspikee/irgendwer

zum Thema "Heulen":


> wunderschön ... ihr behauptet von euch ihr wärt java-götter und ich wäre nur am trollen ... und postet dann so einen totalen blödsinn ... vielleicht solltet ihr wirklich mal überlegen WER hier eigentlich am trollen ist ...*


Jammer, Jammer, Jammer, alle sind gegen dich, du arme Wurst...

Rumgeheule von einem 15 jährigen ist mir eigentlich egal, aber kannst du das nicht im Bravo forum o.ä. machen?


----------



## HoaX (24. Nov 2011)

Ja, da hab ich mich wohl vertan, hatte das a) noch falsch in Erinnerung, b) ist der Name imo irreführend, da vertut man sich schnell.
Aber wo bitte behauptet irgendwer von sich er wäre ein Javagott? Die einzige die das macht bist du! --> Danke dass du uns mit Gott auf eine Stufe stellst, das ist wirklich Balsam für's Ego


----------

