Jar File läuft unter Windows aber nicht unter linux

Thaflasher

Mitglied
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!
 
Häng mal hinterdran noch nen "
Code:
Leerzeichen &
", das sollte dein Programm im Hintergrund laufen lassen.
 
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
 
Alternative mit reinem Javacode: Daemon-Threads verwenden und main beenden lassen.
Java:
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)
 
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 ...*
 
*funny*

ein MOD heult rum das ein GUEST sich n geistesgestörtes haustier zulegen sollte anstatt den fehler zu korrigieren ... *troll 4 ever =D*
 
@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?
 
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 🙂
 

Zurück
Oben