exe-Dateien zum Starten von Java-Programmen?

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Wie ist das denn nun mit den Java Programmen? Ich habe schon viele Java Programme geladen, doch sie haben IMMER eine *.exe zum öffnen!? Wie wird das gemacht? Wie machen das die "großen" Firmen eigentlich? Die machen das ja auch so, da Windows User wohl kaum wissen wie man eine *.class Datei ausführt?! Und bei *.jar Dateien öffnet sich ja auch kein Fenster oder doch?



L-ectron-X hat diesen Beitrag am 15.07.2008 um 15:48 Uhr editiert.
Titel des Themas angepasst. Sorry, der Originaltitel war einfach nichts sagend und wäre ganz sicher hier gelandet.
 
Doch, jar Dateien sind ausführbar und können natürlich ein Fenster öffnen (nur keine Konsole, da sie mit javaw und nicht mit java verknüpft sind). Ansonsten ist Java Webstart wohl die praktischste Lösung.
 
Danke 😉
Java Webstart?
Mh, das ist blöd, dass sich keine Konsole öffnet. Also wenn ich dann was grafisches entwickeln würde mit Swing z.B., dann würde sich etwa ein Fenster öffnen?
Ich habe dann noch rumgesucht und was gefunden: Eclipse ist ja auch z.B. in Java geschrieben und die *.exe ist nur ein Launcher. Stimmt das? Da ich C++ kann müsste ich also nur einen "Launcher" schreiben, der die class Datei "ausführt"?
Und: Jeder der Java installiert hat kann auch den "Befehl" java nutzen?
 
Hiho,

wenn du es unbedingt in einen (C++)Launcher packen willst, geht es am schnellsten mit einem ShellExecute:

Code:
ShellExecute(this, "open", "MyApp.jar", NULL, NULL, SW_NORMAL);

Problem: Es muss eine JRE installiert sein, damit dein Win weiß, wie es mit jars umzugehen hat.

Andere Möglichkeit:

Du lieferst dein Programm gleich mit JRE aus. Dann schreibst du eine .bat welche die Pfade zu deiner JRE setzt und startest auch mit dieser .bat.
Das kannst du dann auch in eine .exe wrappen:

Code:
ShellExecute(this, "open", "MyApp.bat", NULL, NULL, SW_HIDE);

Anmerkung:
In der .bat hast DU dann die Möglichkeit zu bestimmen, ob java oder javaw verwendet werden soll!

bye Saxony
 
Danke ich werde auf jeden Fall einen Launcher dann immer schreiben, da ich C++ gut kann 😉

Jeder der Java installiert hat kann auch den "Befehl" java nutzen?

Das würde ich noch gerne wissen, da ich auch ohne *.bat in C++ ja eine Datei mit einem Programm öffnen kann 😉
 
Hiho

Ja kann man!

Beispiel:

Code:
ShellExecute(this, "open", "cmd", "/k java -version", NULL, SW_NORMAL);

bye Saxony
 
Okay danke, ich habe mir nun einen Launcher geschrieben. Ist sehr praktisch und natürlich bringt es keinen Abzug von Geschwindikeit (finde ich) 😉

Code:
ShellExecute(NULL, L"open", L"cmd", L"/k java programm", NULL, SW_SHOW);
Das benutze ich jetzt und es funktioniert super! 🙂
Was bewirkt das
Code:
/k
? Denn das hat mir geholfen 😀 Vorher hatte ich nämlich:
Code:
ShellExecute(NULL, L"open", L"java", L"main", NULL, SW_SHOW);
benutzt, aber dein Beispiel hat mich gut verbessert, da bei meinem Beispiel das Fenster gleich wieder zuging 😉
 
Oh, dankeschön! 😉
Also hast mir super geholfen und für mich persönlich ist es kein großes Ding so einen Launcher zu bauen. Selbst wenn man von C++ nichts versteht, könnte man das machen. Für mich ist das einfach die beste Lösung 😉
Ich wäre von der Variante 8 beeindruckt 😀
 
Saxony hat gesagt.:
Vielleicht kann man das Wrappen in einen EXE-Launcher auch noch als Variante 8 mit aufnehmen!?!
Das ist eigentlich mit drin, nur dass man das nicht selbst schreibt, sondern dafür ein Tool (JeStart) vorgeschlagen wurde, das ganz nebenbei bei fehlender oder falscher JRE eine Fehlermeldung ausgibt und auch noch ein Icon darstellen kann.
 
L-ectron-X hat gesagt.:
Das ist eigentlich mit drin, nur dass man das nicht selbst schreibt, sondern dafür ein Tool (JeStart) vorgeschlagen wurde, das bei fehlender oder falscher JRE eine Fehlermeldung ausgibt und auch noch ein Icon darstellen kann.

Yup habe ich dann auch gesehen. Könnte dann also eine Variante 5.b werden 😉

Auf jeden Fall sollte aber einmal JWS als Variante in der FAQ erwähnt werden.

bye Saxony
 
Saxony hat gesagt.:
Auf jeden Fall sollte aber einmal JWS als Variante in der FAQ erwähnt werden.
Ja, das hat mich auch schon lange gestört und hab mal vor einiger Zeit einen JWS-Beitrag vorbereitet. Der ist aber nun leider irgendwie weg. Ich müsste den also neu verfassen, oder Wildcard ist schneller. 🙂
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Zurück
Oben