Du bist nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: DeveloperTalk. Falls dies dein erster Besuch auf dieser Seite ist, lies bitte die Hilfe durch. Dort wird dir die Bedienung dieser Seite näher erläutert. Darüber hinaus solltest du dich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutze das Registrierungsformular, um dich zu registrieren oder informiere dich ausführlich über den Registrierungsvorgang. Falls du dich bereits zu einem früheren Zeitpunkt registriert hast, kannst du dich hier anmelden.

Kevin

Anfänger

  • »Kevin« ist der Autor dieses Themas

Beiträge: 23

Registrierungsdatum: 03.07.2011

Danksagungen: 2

  • Private Nachricht senden

1

27.10.2011, 20:06

.exe mit Java

Hallo liebe Javafreunde,

gibt es eine möglichkeit aus der .jar-Datei eine .exe zu machen?
Evtl. durch einen Installer oder so?
"Wer mit künstlicher Intelligenz arbeitet, muß auch mit natürlicher Dummheit rechnen." (Klaus Kornwachs)

JuKu

Profi

Beiträge: 574

Registrierungsdatum: 29.09.2011

Danksagungen: 48

  • Private Nachricht senden

2

27.10.2011, 20:13

Eig. nicht.
Aber du kannst eine Exe-Datei erzeugen, die intern die jar-Datei hat und die jar-Datei dann aufruft.
Ist aber nicht so sinnvoll.
Aber das musst du ja selber wissen, wie du es machst. ;)
Wenn euch mein Beitrag weitergeholfen hat, drückt auf "Bedanken"!
Danke! :D

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

3

27.10.2011, 20:43

also meines wissens, kann man Java auch nativ compilieren, also nicht Bytecode erzeugen, der in der JVM läuft, sondern maschinencode.
Das wäre dann auch ne exe.
wie das geht, weiß ich abe rnicht.
Ich würde an deiner stelle mal ne runde googeln ;)

Kevin

Anfänger

  • »Kevin« ist der Autor dieses Themas

Beiträge: 23

Registrierungsdatum: 03.07.2011

Danksagungen: 2

  • Private Nachricht senden

4

27.10.2011, 20:46

So. Dank Erik hab ich ne idee. Ich schreib ne .bat-Datei und lass durch diese die .jar-Datei ausführen und die .bat kompilier ich dann in eine .exe-Datei. Was ich auch noch versuche ist, dass ich die .jar auch in die exe packen kann. Und die exe macht nix andres als die .jar i-wo im Temp Ordner ablegen und die .bat öffnen.
"Wer mit künstlicher Intelligenz arbeitet, muß auch mit natürlicher Dummheit rechnen." (Klaus Kornwachs)

Patrick

Profi

Beiträge: 694

Danksagungen: 168

  • Private Nachricht senden

5

27.10.2011, 21:09

Das ergibt doch total keinen Sinn.. wieso kompilierst du deine Java Datei nicht einfach?
Ex ungue leonem.

War der Beitrag für dich hilfreich?
Dann drück auf .

Kevin

Anfänger

  • »Kevin« ist der Autor dieses Themas

Beiträge: 23

Registrierungsdatum: 03.07.2011

Danksagungen: 2

  • Private Nachricht senden

6

27.10.2011, 21:31

@Patrick
Wie kann ich die Java Datei kompilieren?
"Wer mit künstlicher Intelligenz arbeitet, muß auch mit natürlicher Dummheit rechnen." (Klaus Kornwachs)

Patrick

Profi

Beiträge: 694

Danksagungen: 168

  • Private Nachricht senden

7

27.10.2011, 22:13

Du benutzt ein Programm, wie z.B. den GCJ.
Der Konsolenbefehl müsste ungefähr so lauten: gcj --main=MainClassName PathToJavaClassFile
Die ClassFile ist dann logischweise die mit dem Sourcecode (also .java nihct .jar).
Ex ungue leonem.

War der Beitrag für dich hilfreich?
Dann drück auf .

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

8

27.10.2011, 22:36

Man verliert dadurch aber alle Vorteile, die Java bietet... Das in eine exe zu verpacken, aber als Java-Programm auszuführen finde ich sinnvoller :O
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

Es haben sich bereits 2 registrierte Benutzer bedankt.

Benutzer, die sich für diesen Beitrag bedankt haben:

Kevin (28.10.2011), meschi (31.10.2011)

Patrick

Profi

Beiträge: 694

Danksagungen: 168

  • Private Nachricht senden

9

27.10.2011, 22:52

Nein, weil dann kann man sich die „Konvertierung” in eine .exe sparen und einfach nur die .jar aufrufen lassen.
Ex ungue leonem.

War der Beitrag für dich hilfreich?
Dann drück auf .

cedi

Profi

Beiträge: 702

Danksagungen: 78

  • Private Nachricht senden

10

27.10.2011, 23:29

und durchs Kompileren in eine exe bleibt das ergebniss nicht Plattformunabhängig.

Patrick

Profi

Beiträge: 694

Danksagungen: 168

  • Private Nachricht senden

11

28.10.2011, 09:24

Wenn er ne .exe haben will, dann ist die eh nicht mehr plattformunabhängig.
Ex ungue leonem.

War der Beitrag für dich hilfreich?
Dann drück auf .

JuKu

Profi

Beiträge: 574

Registrierungsdatum: 29.09.2011

Danksagungen: 48

  • Private Nachricht senden

12

28.10.2011, 11:56

Hier mal ein Link, der dich vllt. weiterbringen könnte: http://netbeans-forum.de/viewtopic.php?t=993. :)
Wenn euch mein Beitrag weitergeholfen hat, drückt auf "Bedanken"!
Danke! :D

JuKu

Profi

Beiträge: 574

Registrierungsdatum: 29.09.2011

Danksagungen: 48

  • Private Nachricht senden

13

28.10.2011, 12:03

Wenn euch mein Beitrag weitergeholfen hat, drückt auf "Bedanken"!
Danke! :D

Johannes S.

Fortgeschrittener

Beiträge: 444

Registrierungsdatum: 24.06.2011

Wohnort: Lychen

Danksagungen: 71

  • Private Nachricht senden

14

28.10.2011, 12:50

Also ich weis, das es eine möglischkeit gibt Java-Programme in eine .exe zu packen. So ist es z.B. auch bei der .exe von Minecraft der Fall. Du benötigst weiterhin die JVM und du sparst auch nicht wirklisch Leistung. Du kannst damit dem Programm damit eigendlisch nur einen anderen Stil geben, da da jetzt "Anwendung" steht und du kannst der .exe dann auch ein Symbol geben, was bei Java-Programmen glaube ich nicht geht.

Ob es noch eine andere möglischkeit gibt weiß ich nicht, aber wenn bringt sie vermtlisch auch nicht wirklisch viel mehr. Es würde vermutlisch so änden, dass eine art JVM dann bereits in die .exe includiert wird und viele Programmteile werden weiterhin auf diese zurückgreifen. Eine andere möglischkeit währe, das verschiedene Funktionen/Methoden nicht mehr funktionieren. Man wird vieleicht eine Leistungssteigerung haben, aber die wird vermutlisch nicht sehr hoch sein oder man wird auf Teile von Java-Bibliotek verzichten müssen.
Signatur ?

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

15

28.10.2011, 14:25

Plattformunnabhängigkeit wäre mir wichtiger! Was bringt ne Exe von nem Java-Programm? Man kann jars auch mit doppelklick öffnen, aber man bekommt keine Warnungen, dass exen Viren enthalten können O.o Falls man doch eine Exe zum starten möchte, was aus Usability-Gründen durchaus nachzuvollziehen ist, dann ist eine kompilierte exe zum reinen Starten die beste Möglichkeit, denn dann bleibt das Programm auch plattformunabhängig. Ne JRE könnte man dadurch rein theoretisch auch mitgeben, dann kanns auch der letzte Windows-User ausführen... (Egal obs das bringt :D es geht)

Die zweite Möglichkeit wäre, die Classfiles in eine Exe zu verpacken. Beim ausführen werden diese dann ins Temp-Verzeichnis entpackt und ausgeführt. Dazu braucht man, wie auch bei der ersten Methode, nichts weiter als einen bat-to-exe Converter... So ist das im übrigen auch bei Minecraft, wie Johannes ja schon angemerkt hat.

Ein Java-Programm ganz in eine Exe zu kompilieren wäre sowas von dermaßen sinnlos. Ohne JVM verliert man absolut alle Vorteile von Java, ausgenommen die Syntax und so Sachen beim Programmieren! Dann kann man auch gleich C++ oder C# nehmen O.o
Keine Ahnung, ob die Performance dadurch verbessert werden würde, aber das ist bei normalen Programmen sowas von irrelevant! Durch guten Style und geschicktes programmieren kann man Leistung ausnutzen... Aber bei einem normalen Programm wird man davon eh nix merken, also wenn man nicht gerade einen Semulator baut und die Software dafür schreibt, oder ein besseres 3D Spiel, bringt das keinen Vorteil, keine JVM zu benutzen. Und dann würdet ihr wahrscheinlich eh nicht Java verwenden, oder? :D
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

meschi

Fortgeschrittener

Beiträge: 263

Registrierungsdatum: 23.08.2011

Wohnort: /

Danksagungen: 40

  • Private Nachricht senden

16

31.10.2011, 22:23

Welche vorteile sollte denn eine .exe bieten? also ich sehe da 0% Vorteile, also so gar nichts. Weshalb willst du denn eine echse haben?

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

17

31.10.2011, 22:35

Naja für den Benutzer wäre eine Exe auf jeden Fall konfortabler als eine Jar-Datei...
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

meschi

Fortgeschrittener

Beiträge: 263

Registrierungsdatum: 23.08.2011

Wohnort: /

Danksagungen: 40

  • Private Nachricht senden

18

31.10.2011, 22:49

Bei den meisten komplexen Programmen ist eh weit mehr als die binary im Programmordner. Da würde ein gelinkter Batch-starter nicht besonders weh tun...
Also wenn du mal in den Programmordner von einem Spiel gehst, sieht mann als DAU auch nicht was die ganzen dateien da drin machen...
Also ich halte nicht allzu viel von dieser extremen Anwenderfreundlichkeitsoptimierung. Ich finde damit tritt man als Programmierer sich selbst auf die Füße.
LG, meschi

Erik

Profi

Beiträge: 1 274

Registrierungsdatum: 22.06.2011

Wohnort: Deutschland ;)

Danksagungen: 307

  • Private Nachricht senden

19

01.11.2011, 16:20

Ich hab doch gesagt, dass ne kompilierte batch datei zum starten am besten wäre?! O.o
Beste Webite im Internet ( ͡° ͜ʖ ͡°)
xinra.de

meschi

Fortgeschrittener

Beiträge: 263

Registrierungsdatum: 23.08.2011

Wohnort: /

Danksagungen: 40

  • Private Nachricht senden

20

04.11.2011, 17:38

wieso muss die denn kompilliert sein?