Aus JAR-Datei erstellte EXE-Datei funktioniert nicht

Diskutiere Aus JAR-Datei erstellte EXE-Datei funktioniert nicht im Allgemeine Java-Themen Bereich.
O

osix

Liebe Freunde,

Nach dieser Anleitung erstelle ich mit dem Tool "Bat-to-Exe-Converter" aus einer funktionierenden JAR-Datei auf meinem PC mit NebeansIDE eine EXE.
auf diesem PC läuft die JAR mit "java -jar Test.jar" einwandfrei. Auch die EXE funktioniert.

Auf einem zweiten PC, auf dem kein Java installiert funktioniert die EXE nicht, im aufpopenden DOS Befehlsfenster steht dann "Befehl Java nicht gefunden".

Auf dem PC eines Freundes, auf dem JRE (Java Runtime Environment) installiert ist, funktioniert die EXE.

Deswegen meine Frage:
Muß trotz EXE Erstellung immer die JRE auf dem ausführenden PC installiert sein ?

Gibt es irgendwie eine Möglichkeit alles so in eine EXE zu packen, daß man die JRE auf dem Zielsystem nicht benötigt ?


Wenn ja, wie ?
Ein paar Links sind, gut, dann kann ich mich selber einlesen.

Oder bediene ich den BAT-to-EXE-Converter aus obigem Link falsch ?

Besten Dank für eure Antworten !
 
O

osix

Danke, das heißt mit dem obigen Programm kann ich nur den Batch aufruf "Java -jar -Test.jar" sozusagen in einer EXE-Verstecken, und es bedard trotz allem die JRE auf dem Zielsystem, richtig ?

Hab launch4j mal angelesen, das scheint kompliziert zu sein.

Das ist doch eigentlich ein GRUNDBEDÜRFTNIS, eine EXE zu haben, die OHNE JRE auskommt.

Hat jemand noch andere einfacherer Vorschläge ?
 
O

osix

hat jemand erfahrung mit jar2exe das hört sich ja vielversprechend an, kostet zwar etwas aber die 30 Dollar sollen es wert sein.

 
Flown

Flown

Das ist doch eigentlich ein GRUNDBEDÜRFTNIS, eine EXE zu haben, die OHNE JRE auskommt.
Also es ist bei Java ein Grundbedürfnis, keine .exe oder irgendwelche OS spezifischen Anwendungen zu schreiben, sondern diese in der VM laufen zu lassen.

Aber um die Frage zu beantworten: GraalVM mit native-image (ist noch um einiges komplizierter als launch4j
 
L

LimDul

Was soll man den auf einem Linux-System mit einer EXE anfangen? :) Oder auf MacOs?

Java-Programme werden oft (nicht immer) mit dem Anspruch geschrieben, Plattformunabhängig zu sein und eben nicht eine Native Binary rauszubekommen sondern eine Datei, die auf allen Plattformen, wo ein entsprechendes JRE zur Verfügung steht, lauffähig ist. Deswegen ist es eben in vielen Fällen kein Grundbedürfnis, eine plattformabhängige Binary zu haben.
 
L

LimDul

Ach, noch ein wichtiger Nachtrag: Das Oracle JRE darfst nicht so einfach mit reinbundeln, da das mittlerweile ab Version 8-irgendwas lizenzpflichtig ist. Wenn du eine Exe mit integriertem JRE baust, musst du auf ein entsprechendes freies JRE ausweichen.
 
L

lam_tr

Danke, das heißt mit dem obigen Programm kann ich nur den Batch aufruf "Java -jar -Test.jar" sozusagen in einer EXE-Verstecken, und es bedard trotz allem die JRE auf dem Zielsystem, richtig ?

Hab launch4j mal angelesen, das scheint kompliziert zu sein.

Das ist doch eigentlich ein GRUNDBEDÜRFTNIS, eine EXE zu haben, die OHNE JRE auskommt.

Hat jemand noch andere einfacherer Vorschläge ?
Das Bild in dem Thread zeigt dir doch dass die JRE relativ zum Jar File exportiert wird.

Soweit ich weiß kann man es auch in die Exe verpacken.
 
J

JustNobody

Was ist mit GraalVm? Das kann wohl auch native Images erstellen:

Ich muss aber sagen, dass meine ersten Versuche etwas schief gegangen sind. Er meint immer, dass er die Toolchain nicht findet. Evtl. ist mein Visual Studio 2019 auch zu neu. Im Netz habe ich Hinweise auf 2017 gefunden, aber da war immer "und neuer" dabei....

Aber ich hatte bisher keine Zeit, mir das näher an zu sehen.
 
mrBrown

mrBrown

Ach, noch ein wichtiger Nachtrag: Das Oracle JRE darfst nicht so einfach mit reinbundeln, da das mittlerweile ab Version 8-irgendwas lizenzpflichtig ist. Wenn du eine Exe mit integriertem JRE baust, musst du auf ein entsprechendes freies JRE ausweichen.
Durfte man vorher der Lizenzänderung auch nicht :)
 
sascha-sphw

sascha-sphw

Ich nutze gerade jpackage das Bestandteil von Java 14 ist. Bin, bis jetzt, ganz zufrieden. Damit kannst Dir auch gleich den Installer raus lassen (da nehmen ich aber lieber Inno Setup), das funktioniert für Win, Linux und Mac.


Edit: Ich baue vorher noch eine custom JRE java 11 mit jlink und die wird dann mit ausgeliefert.
 
Thema: 

Aus JAR-Datei erstellte EXE-Datei funktioniert nicht

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben