# Java Programm in .exe File



## Murdock (12. Dez 2007)

Ersteinmal Hallo   

Ich habe mit einem Prog aus einem .jar File wo alle meine Klassen drin sind, eine .exe gemacht. Das ganze ist allerdings ohne GUI, sondern nur eine Konsolenanwendung(DOS). Wenn das Programm durchgelaufen ist, schließt sich das DOS Fenster sofort. Wie kann ich das verhindern? Am besten im Code, oder gehts auch "von ausßerhalb".

Bin dankbar für jede Hilfe :wink:


----------



## Wildcard (12. Dez 2007)

Warum überhaupt eine exe? Wie hast du selbige erstellt?


----------



## L-ectron-X (12. Dez 2007)

Bau doch einfach eine Tastenbestätigung zum Beenden ein.


----------



## Murdock (12. Dez 2007)

@ Wildcard 

Ich habe das mit dem Programm exe4j gemacht. Einfach damit man nem anderen nur ne .exe schicken muss und er das Prog ausführen kann. Z.b ein Spiel. Ich glaub er muss dann zwar ein JRE installiert haben, aber egal.

@L-ectron-X

Danke, das wär ne Idee. Gar nicht dran gedacht...bin noch Anfänger.

Gibt es eine Möglichkeit zu einer bestimmten stelle im Code zurückzuspringen?

damit wär mir schon geholfen


----------



## Wildcard (12. Dez 2007)

Murdock hat gesagt.:
			
		

> Einfach damit man nem anderen nur ne .exe schicken muss und er das Prog ausführen kann.


Genau diesen Zweck erfüllt das jar und läuft dazu noch auf allen Systemen und nicht nur Windows.


----------



## Murdock (12. Dez 2007)

Wie meinst du das, im .jar sind doch nur alle Klassen, da kann man doch gar nix ausführen oder???

Bzw. muss jemand der meine .exe ausführen will auf jeden Fall ein JRE haben oder nicht?


----------



## Wildcard (12. Dez 2007)

Ein jar ist ausführbar bzw pseudoausführbar, aber in der Praxis macht das keinen Unterschied.
Der Anwender klickt die Datei an und das Programm startet, darum geht es doch wohl.
Und ja, der Anwender benötigt in beiden Fällen eine JRE, die er in der Regel aber schon hat.


----------



## L-ectron-X (12. Dez 2007)

Jar-Dateien sind normalerweise auf den Java-Interpreter registriert. Wenn du auf eine Jar-Datei doppelklickst, startet der Java-Interpreter und führt die Klasse aus, die im Manifest deiner Jar-Datei als Main-Class angegeben ist.


----------



## Murdock (12. Dez 2007)

wieder was dazugelernt  

Meinst du das viele das JRE "unbewusst" drauf haben, wegen Applets etc.?


----------



## Wildcard (12. Dez 2007)

Eine JRE ist bei vielen Betriebssystemen vorinstalliert. Die Durchdringung auf Desktop Rechnern liegt jenseits der 95% und erreicht somit potentiell mehr Rechner als eine exe.
Die wenigen Ausnahmen installieren sich (wenn es das Programm wert ist) gerne eine JRE, aber was mache ich als Linux Nutzer mit einer exe?


----------



## Prusik (12. Dez 2007)

was ich sonst auch schon gesehen habe, ist dass man ein bat-File beilegt... welches dann startet.. falls jar nicht mit dem java interpreter verknüpft ist...


----------



## The_S (13. Dez 2007)

Wildcard hat gesagt.:
			
		

> Eine JRE ist bei vielen Betriebssystemen vorinstalliert.



Mag sein, aber beim meist eingesetzten Betriebssystem - Windows - ist sie das nicht.



			
				Wildcard hat gesagt.:
			
		

> Die Durchdringung auf Desktop Rechnern liegt jenseits der 95% und erreicht somit potentiell mehr Rechner als eine exe.



Die Zahl beeindruckt mich immer wieder, aber ich frage mich, wo du sie hernimmst!? Wenn ich wahllos die Rechner von 10 Leute aus meinem Freundes-/Bekannten-/Verwandtenkreis ansehe, haben davon max. 5-7 die JRE installiert (einige davon auch nur, weil ich irgendwann ihren Rechner neu gemacht, und die JRE dann gleich mit drauf gepackt habe). Und von diesen 5-7 dürften max. 1-3 eine neuere JRE als 1.4.2 installiert haben.

Eine JAR ist aber trotzdem einer exe vorzuziehen. Bei den meisten exen muss wie gesagt ebenfalls die JRE installiert sein, deshalb kann auch gleich eine JAR ausgeliefert werden. Mal ganz vom Hauptgrund - der Plattformunabhängigkeit - abgesehen.


----------



## Wildcard (13. Dez 2007)

Hobbit_Im_Blutrausch hat gesagt.:
			
		

> Mag sein, aber beim meist eingesetzten Betriebssystem - Windows - ist sie das nicht.


Die Aussage ist so nicht ganz korrekt. Letztlich hängt es von der Windows Version ab, so meine ich mich zu erinnern das ältere Jahrgänge der Systeme aus Redmond zumindest die MS-VM hatten, bis diese eingestampft wurde. Wie es nun auf Windows Server Versionen, Windows 2000, NT, Vista usw. aussieht, ist mir nicht bekannt. 
Nebst ist nicht zu vergessen, dass System Builder ihren Kunden häufig vorinstallierte Windows Versionen zumuten die mit zusätzlicher Software angereichtert werden. Auch bin ich der Meinung, dass eine ganze Menge Custom Installation (NLite zB) unterwegs sind, die ebenfalls eine JVM an Bord haben.
Diejenigen die der Vorinstallation dann entgangen sind, installieren manuell sobald sie merken das Knuddels nicht funktioniert :roll: 



> Die Zahl beeindruckt mich immer wieder, aber ich frage mich, wo du sie hernimmst!?


Aus den Statistiken die ich von Google bekomme.
Nach meiner Erfahrung hat praktisch jeder der im Netz unterwegs ist eine JRE installiert. Die meisten sind allerdings der Meinung, dass es sowas ähnliches wäre wie Flash bzw. ein Browser Plugin ist  :lol:


----------



## maki (13. Dez 2007)

> Mag sein, aber beim meist eingesetzten Betriebssystem - Windows - ist sie das nicht.


Die Windows Installationen die ich kenne, haben alle ein JRE vorinstalliert


----------



## The_S (13. Dez 2007)

und was kennst du für Windows Installationen? Weder XP Prof, XP Home, 2000, ME oder Vista, die ich schonmal installiert habe, hatten eine JRE ???:L .


----------



## hilado (13. Dez 2007)

maki hat gesagt.:
			
		

> Die Windows Installationen die ich kenne, haben alle ein JRE vorinstalliert



alle neugekauften computer??


----------

