javaw öffnet trotzdem ein DOS Fenster

ee18

Neues Mitglied
Hallo !

Ich habe ein java Programm geschrieben, welches ich verteilen will.
Das Starten des Programmes geschieht nun in Windows durch Doppelklick auf die Datei ev.bat, die wie folgt aussieht:

java.exe -mx1000000000 -Djava.ext.dirs=.\jdbc -Dderby.system.home=.\data -Dderby.system.durability=test -cp ;.\EventExplorer.jar;.\lookAndFeel\jcalendar-1.3.2.jar;.\lookAndFeel\looks-2.0.1.jar;.\lookAndFeel\toniclf.jar gui.EELauncher > ee.log

Nun erscheint zuerst ein DOS Fenster, danach öffnet sich meine Applikation.
Ich möchte die Applikation starten, ohne dass jemals das DOS Fenster geöffnet wird.

Mein Versuch (unter Windows 7):
(javaw.exe statt java.exe)
javaw.exe -mx1000000000 -Djava.ext.dirs=.\jdbc -Dderby.system.home=.\data -Dderby.system.durability=test -cp ;.\EventExplorer.jar;.\lookAndFeel\jcalendar-1.3.2.jar;.\lookAndFeel\looks-2.0.1.jar;.\lookAndFeel\toniclf.jar gui.EELauncher > ee.log

Ergebnis: Auch hier wird zuerst ein DOS Fenster geöffnet, dann die Applikation. Einziger Unterschied: Das Schliessen des DOS Fensters hat keine Auswirkung auf die Applikation (die weiterläuft)

Kann mir jemand helfen ?

Viele Grüsse,
Mike.
 
D

despikyxd

Gast
ähäm ... schon mal was vom DOS-PIPE-Syntax gehört ?
weil genau den verwendest du ...
der grund warum deine cmd offen bleibt ist die PIPE die sowohl System.err als auch System.out in eine datei umleitet
WARUM du diesen umweg wählst ist mir schleierhaft da dies ein sehr schlechtes design ist

wenn du schon log-daten erstellen willst dann programmier deine app doch einfach so das System.err in z.b. err.log und System.out in out.log umgeleitet werden ... dann brauchst du die PIPE nich mehr ...
wenns nich deine app is : developer anmailen und um einbau einer log-funktion bitten die z.b. mit nem cmd-line switch aktiviert werden kann

noch einfacher *und das würde dir diese hässliche bat sparen* : n launcher programmieren ... in diesem über ProcessBuilder den process starten und dann mit Process.getInputStream die streams abfangen und im launcher in eine datei schreiben

dessweiteren ist dein command noch invalid ...
die speicher-begrenzung wir mit -Xmx angegeben ... dessweitern kannst du hier auch abkürzungen k, m, g verwenden .. so wird aus -mx1000000000 eben -Xmx1g ... wobei 1GB != 1000000000B sind ... sondern 1GB = 1024MB = 1048576kB = 1073741824B ... 1000000000B sind grad mal 0,93GB ... warum eine Java-App einen dermaßen großen Heap braucht ist mir echt ein rätzel ... das würde nämlich ganz schön schlechtes design oder eine risige app bedeuten *die z.b. auf grund einer extrem aufwendigen GUI viel Heap braucht ... wobei sogar NetBeans *ist die aufwendigste mir bekannte Java-App* mit wenigen 100MB heap auskommt *glaub grad mal 400MB-600MB*
genau wie dein -cp - parameter ... warum als ERSTES ein ";" ? ... am besten du setze davor noch den aktuellen CP *falls vorhanden* ... ansonsten kannst du es weglassen und dierekt mit dem ersten CP beginnen ...
weil sobald du -cp angibst wird der im system eingestellte CP so oder so überschrieben ... egal ob du da als erstes ein ";" weil du den aktuellen CP erhalten willst ... *ich glaube wenn man während der runtime n System.getProperty("class.path"); macht wird dieser sogar getrimmt und das voranstehende ";" nicht mehr vorhanden sein

genauso wenig solltest du übrigens mit der EXT.DIRS - variablen rumspielen ... das kann zu schlimmen fehlern führen ... hier wäre es eindeutig besser sämtliche jar-files und meinetwegen das ./jdbc über -cp anzugeben ... ansonsten kann da ganz schnell was schief gehen und die app crashen

du siehst also : du hast hier einige design fehler drin ..

und nochmal kurz gesagt was dein problem ist : DIE PIPE ... erst wenn du das anders löst wird sich die console schließen
 
M

Marcinek

Gast
Also meine Programme starten alle mit einer BAT Datei.

Das DOS Fenster zeigst sich kurz und wird dann sofort beendet.
Das Programm läuft weiter.

Mag bei dir dann doch an den Pipes liegen ;)
 
Zuletzt bearbeitet von einem Moderator:

AmunRa

Gesperrter Benutzer
Hab mir grad eine bat erstellt und ausgeführt.
Code:
java GUI

und die GUI Klasse erstellt nur ein JFrame und sonst nix. bei mir bleibt das Dos fenster solange offen biss ich auch das JFrame schließe und daher das Programm terminiert.
 

AmunRa

Gesperrter Benutzer
Stimmt habs jetzt aber auch mit javaw in der bat ausprobiert und die CMD bleibt trotzdem offen

Code:
javaw GUI
edit. vl interessant ich teste das gerade auf Win XP
 
D

despikyxd

Gast
beim start von javaw aus einer batch herraus bleibt diese offen ?=! WTF ... was habt ihr denn alle für komische system-configs ?
das mit "start [command]" ist ja nur dazu da um halt aus der aktuellen console einen neuen process zu starten und nicht den [command] zum child-process zu machen ...
und ich mein ... wenn ich inner cmd "javaw [command]" eingebe returned es ordnungsgemäß und ich kann in der console weiterarbeiten ... und ja ... auch bei batch-aufrufen von javaw wird das fenster wieder geschlossen *bei mir sogar so schnell das manchmal das console-window garnicht mehr angezeigt wird*
warum du allerdings sämtliche progs aus net batch startest ist fragwürdig ... normalerweise wird nämlich .jar mit javaw verknüpft ... es sei denn man ist so pro und installiert z.b. WinRAR halt NACH java ... dann überschreibt rar diese einstellung ... kann man aber bei rar zum glügg beim setup einstellen ob jar mit rar verknüpft werden soll oder nicht *im falle NEIN wird die aktuelle verknüpfung zu javaw nicht weiter verändert*
und da du unter XP unter ordneroptionen > dateitypen sogar noch die möglichkeit hast da manuell dran rumzuspielen solltest du es auch lieber wieder so einstellen und den batch-mist lassen ... *wenn mir mal jemand verraten könnte ob und wenn ja diese datypeinstellungen unter vista / 7 gibt wär ich dankbar*
 

AmunRa

Gesperrter Benutzer
@despikyxd : komm mal wieder etwas runter. erstens hab ich nicht geschreiben, dass ich sämtliche Progs aus ner bat datei starte (hihi nimm ein shell-script :p lol) sondern ich hab da der TO diese Frage hatte es einfach einmal selbst ausprobiert. zweitens gibt es auch Möglichkeiten, wo es ganz sinnvoll sein kann wenn man das ganze über eine script startet,


Und schön wenn es bei dir so ist das das Dos Fenster wieder geschlossen wird hab ja auch nie behauptet das dies nicht der Fall ist, vl is bei vista/7 geändert worden.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Umgebungsvariable Pfad javaw.exe für Programmstart auf Windows Java Basics - Anfänger-Themen 1
P javaw.exe zeigt trotzdem Terminal/CmdPrompt Java Basics - Anfänger-Themen 2
A Javaw will nicht wie ich will. Java Basics - Anfänger-Themen 15
T hilfe bei javaw.exe Java Basics - Anfänger-Themen 3
W javaw.exe wächst und wächst Java Basics - Anfänger-Themen 2
M javaw.exe Java Basics - Anfänger-Themen 8
N mit .bat Dateien den Javaw Interpreter starten? Java Basics - Anfänger-Themen 5
S Jar Datei mit javaw verknüpfen Java Basics - Anfänger-Themen 3
V java /javaw ? Wo ist der Unterschied? Java Basics - Anfänger-Themen 17
P Mein Programm wird zwar erfolgreich Compiliert, öffnet sich aber nicht Java Basics - Anfänger-Themen 6
B Programm, dass alle 3 Tage eine Webseite öffnet? Java Basics - Anfänger-Themen 20
H Eingabe tätigen bevor Graphics g Fenster öffnet Java Basics - Anfänger-Themen 5
C Exportierte JAR öffnet zweiten Frame nicht mehr Java Basics - Anfänger-Themen 7
J JFrame Fenster öffnet sich nicht Java Basics - Anfänger-Themen 7
S Nach dem Herüberschieben eines Arrays zwischen 2 Frames öffnet sich das Frame nicht mehr Java Basics - Anfänger-Themen 12
H Wieso öffnet sich der Texteditor? Java Basics - Anfänger-Themen 6
D Programm öffnet hinter Taskleiste Java Basics - Anfänger-Themen 1
E Eclipse öffnet nur mit Trick Java Basics - Anfänger-Themen 2
dat_vin JFrame öffnet sich mehrmals Java Basics - Anfänger-Themen 6
T GUI öffnet sich nicht Java Basics - Anfänger-Themen 23
T Ausführbare .jar öffnet nur ein cmd... Java Basics - Anfänger-Themen 2
A JDialog öffnet sich nicht Java Basics - Anfänger-Themen 7
J BlueJ öffnet package falsch Java Basics - Anfänger-Themen 2
J Klick auf Button -> JFrame öffnet sich erneut. & Datei lässt sich nicht löschen Java Basics - Anfänger-Themen 7
L Eclipse.exe öffnet sich nicht. Java Basics - Anfänger-Themen 7
D Erste Schritte Java Konsole öffnet sich nicht Java Basics - Anfänger-Themen 4
W ObjectInputStream öffnet nicht Java Basics - Anfänger-Themen 4
D Programm öffnet sich nicht Java Basics - Anfänger-Themen 5
K Erste Schritte Ein Button öffnet ein JFrame Java Basics - Anfänger-Themen 16
M Timer-Thread in Swing öffnet jedes Mal ein neues Fenster Java Basics - Anfänger-Themen 6
T Warum öffnet sich kein Fenster? Java Basics - Anfänger-Themen 3
D Applet öffnet nicht richtig Java Basics - Anfänger-Themen 4
E PopupMenu öffnet nicht so wie ich möchte Java Basics - Anfänger-Themen 2
G cmd.exe öffnet sich nicht Java Basics - Anfänger-Themen 5
S JFileChooser öffnet Unterverzeichnisse sehr langsam Java Basics - Anfänger-Themen 2
L Warum öffnet sich aus einer .jar-Datei kein Dosfenster? Java Basics - Anfänger-Themen 5
K ResultSet öffnet sich garnicht erst Java Basics - Anfänger-Themen 9
L JFrame öffnet 2tes JFrame, welches Daten vom 1sten braucht. Java Basics - Anfänger-Themen 21
D Programmausführung öffnet sich nicht Java Basics - Anfänger-Themen 4
F Packprogramm öffnet sich bei Doppelklick auf jar-Datei Java Basics - Anfänger-Themen 26
W warum öffnet der nur die erste datei???? Java Basics - Anfänger-Themen 5
I Exception wird gefangen, aber trotzdem in Error Log? Java Basics - Anfänger-Themen 10
K Sichtbarkeit protected: Attribute trotzdem aufrufbar. Java Basics - Anfänger-Themen 4
S Methoden 2 non-static Methoden, trotzdem Fehler "non static method can not be referenced from a static context" Java Basics - Anfänger-Themen 9
R Compiler-Fehler HalloWelt-Programm korrekt abgeschrieben, trotzdem Fehlermeldungen Java Basics - Anfänger-Themen 2
DaCrazyJavaExpert Compiler-Fehler Variable nicht mit null initialisiert, trotzdem: NullPointerException Java Basics - Anfänger-Themen 28
J Threading-Aufgabe. Totale Noob Fragen, aber bitte trotzdem beantworten ;) Java Basics - Anfänger-Themen 7
F Variablen String wird in int umgewandelt aber trotzdem String? Java Basics - Anfänger-Themen 5
Q queue.remove Element trotzdem noch vorhanden. Java Basics - Anfänger-Themen 10
U Applet Signiert und trotzdem Fehlermeldung Java Basics - Anfänger-Themen 18
hdi nicht out of bounds, trotzdem exception Java Basics - Anfänger-Themen 4
K Jcreator arbeitet wieder aber trotzdem probleme mit de Java Basics - Anfänger-Themen 7
D Programm läuft - trotzdem noch ein Fehler drin. Java Basics - Anfänger-Themen 21
G Applet und trotzdem in Konsole eingeben Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben