# Ausführbare Datei für z.b. Windows erzeugen



## SBS (31. Mrz 2004)

Hallo,

gibt es ein Tool mit dem ich z.b. aus meinen JavaProgrammen, liegen i.d.R. im Format .java vor, und müssen compiliert werden, eine ausführbare Datei machen kann?

Ich habe hier ein tool d.h. eve4j_windows, damit komme ich aber nicht besonders gut zurecht,
zumal dieses Programm auch meist .jar Dateien verlangt, und man eine Menge, mir unbekannter Angaben machen muss.

Also kennt jemand ein tool dass sich dafür eigenet, aus .java Dateien ausführbare Programme zu erstellen?
vorzugsweise .exe Dateien?

Und: Muss auf dem ausführenden Computer dann noch eine Java runtime environment oder eine vm installiert sein?

schönen Abend noch.

/EDIT: Oh, habe gerade diesen Beitrag gelesen.
http://www.java-forum.org/de/viewtopic.php?t=3411

Wenn das mit dem jar File einfach unter windows auszuführen geht, wie erstelle ich ein jar File?
btw, hab mal von nem Freund gehört, dass er ein solches jar File öffnen wollte, es aber nicht funktioniert hat...
daher wolte ich zuerst eine .exe Datei haben...


----------



## Beni (31. Mrz 2004)

javac, JBuilder, Eclipse, ... der offizielle Javacompiler (im JDK enthalten) und so ziemlich jede (vernünftige) IDE kann dir die *.class-Dateien generieren (oder auch die *.jar-Datei, die eigentlich nur Archive sind, aber praktischer, da es nur eine jar pro Programm braucht).

Die class, bzw. die jar - Dateien sind bereits die ausführbaren Programme. Die class-Datein startet man am besten mit einer kleinen Batch-Datei, die jar's kann man mit einem Doppelklick öffnen (sofern der Computer richtig konfiguriert ist).

exe's sind mit Java nicht nötig. Viele Programme die exe's machen, generieren nur eine exe-Datei die die VM aufruft, und danach eine (integrierte) jar-Datei. Ausser ein paar Bytes mehr, gewinnst du nichts.

Dann gibt es noch einige Programme die Java angeblich beschleunigen sollen. Aber Java 1.5 wird diese Tools wohl überflüssig machen...

Wenn du immer noch exe's willst, da ist sicher schon was im Forum gepostet (Suchfunktion benützen).


Und es muss auf jedem Computer der Java benutzen will ein Runtime Enviroment (die VM ist dabei) installiert sein. (P.S. und übrigens das von Sun, und nicht irgendwelchen Microshrot)

mfg Beni


----------



## SBS (1. Apr 2004)

Ok danke schonmal für die Antwort.

eclipse habe ich auf dem Rechner, allerdings noch icht richtig eingearbeitet und daher 
für die Dateien die ich gerne zu einer (1!) ausführbaren Datei machen möchte
immernoch den Jext benutzt habe...

Hm das ist schade, wenn ich das jetzt richtig verstanden habe, kann ich nicht einfach ein Programm schreiben, dessen Daten (alle .java oder von mir aus auch die .class Dateien, sowie unterordner mit evtl. Datendateien, Bildern oder Sounds) in einer Dateiverpacken, und diese z.b. einem Freund gebe (der kein Java auf dem Rechner hat, weil er sich dafür nicht so sehr interessiert) und ihm mein Programm zeigen?! 
Das ist ja ein wenig.... :bloed: hm aber vielleicht hab ichs auch nur noch nicht richtig verstanden.  :autsch: 

Grüße


----------



## Roar (1. Apr 2004)

ich schlag dir erstmal vor dir ein buch zur hand zu nehmen. da steht drin was mjava macht, wozu es gut ist, was eine Virtual Machine ist, wie man java code kompiliert, wie man ihn ausfürhrt und wie man den kompilierten code distributet.


----------



## bygones (1. Apr 2004)

du wirst keine Programmiersprache finden, in der du was schreiben kannst und ein andere wird dein Programm bewundern können, wenn er den Interpreter (o.ä.) nicht aufm Rechner hat ?! Das ist kein Java Problem.....

Wie sollte das gehen ????


----------



## Thanni (2. Apr 2004)

deathbyaclown hat gesagt.:
			
		

> du wirst keine Programmiersprache finden, in der du was schreiben kannst und ein andere wird dein Programm bewundern können, wenn er den Interpreter (o.ä.) nicht aufm Rechner hat ?! Das ist kein Java Problem.....
> 
> Wie sollte das gehen ????



z.b. ein compiliertes c programm braucht doch keinen interpreter? vielleicht habe ich dich auch nur falsch verstanden 

gruß thanni


----------



## bygones (2. Apr 2004)

Thanni hat gesagt.:
			
		

> z.b. ein compiliertes c programm braucht doch keinen interpreter? vielleicht habe ich dich auch nur falsch verstanden


Was ich meinte ist, du kannst noch so ein tolles C programm schreiben und mir auf meine Linux Kiste schicken, wenn ich die passende Umgebung nicht haben kann ich nichts damit anfangen (interpreter war falsch gewählt....)


----------



## Thanni (2. Apr 2004)

deathbyaclown hat gesagt.:
			
		

> Thanni hat gesagt.:
> 
> 
> 
> ...



jo das ist klar, und verständlich


----------



## SBS (6. Apr 2004)

@Roar
Danke, aber ich habe hier mehrere, hochqualifizierte Bücher liegen. 


Das die Plattformunabhängigkeit dabei verloren geht ist mir wohl bewusst,
nur was nütz mir mein Programm, wenn sich z.b. jemand dafür interessiert
und derjenige erst mit seinem 56k Modem 17MB o.Ä. runterladen muss... :shock: 

Ich probiere jetzt gerade ein wenig mit dem Tool exe4j herum, vielleicht bekomme
ich damit ja hin was ich benötige, danke trotzdem.


----------



## bygones (6. Apr 2004)

SBS hat gesagt.:
			
		

> Das die Plattformunabhängigkeit dabei verloren geht ist mir wohl bewusst,
> nur was nütz mir mein Programm, wenn sich z.b. jemand dafür interessiert
> und derjenige erst mit seinem 56k Modem 17MB o.Ä. runterladen muss... :shock:


Was hilft dir z.B. exe4J:


> Customized JRE/JDK detection
> The executable can detect appropriate Java JREs and JDKs in the Windows registry, in environment variables, special directories and on the system path. You can fully customize the search sequence, error handling and supported JRE/JDK versions.


Wenn der User kein java drauf hat hilft das ganze exe machen auch nicht. Und ein Bundle zu schicken - dann bist wieder gleich bei den MBs....

Außerdem, warum Geld ausgeben, wenn es mit JSmooth kostenlos geht


----------



## SBS (6. Apr 2004)

Jops, da hast du wohl recht, leider in der Beziehung ein wenig unglücklich alles.


----------



## Roar (7. Apr 2004)

@SBS: um eine programmiersprache zu lernen genügen nicht nur hochqualifizierte _bücher_
@dbac: die programme gibts als trial versionen auch kostenlos.


----------



## bygones (7. Apr 2004)

Roar hat gesagt.:
			
		

> @dbac: die programme gibts als trial versionen auch kostenlos.





> Its use is not time limited, but restricted to evaluation purposes


Na toll, bekommt man wahrscheinlich so ne Warnung oder n Hinweis jedes mal wenn man es nutzt....


----------



## Roar (7. Apr 2004)

ja und? is doch egal, bekomm ich bein WinZip auch, und solang der user nix mitkrieg passt das schon.


----------



## bygones (7. Apr 2004)

nur gehe ich davon aus, dass der User diesen Hinweis bekommt...
aber egal - ich nehme JSmooth - klappt ist kostenlos ohne irgendeinen Hinweis....


----------

