Ich habe Launch4J auf meinem Computer und es ist ein großartiges Programm. Eine seiner Funktionen, die mich interessiert, ist die Möglichkeit, eine JRE in der allgemeinen EXE-Datei zu bündeln. Ich kann jedoch keine Dokumentation finden, die beschreibt, wie dies zu tun ist.
Wie bündle ich eine JRE mit der EXE? Und wo kann ich eine kompakte, tragbare JRE zum Laufen bringen? Die Download-Links unter Oracle gelten für die Installationspakete.
portability
exe
java
launch4j
CodeBunny
quelle
quelle
Antworten:
Nach einigen Versuchen bekomme ich endlich eine Problemumgehung, um das jre in meiner Anwendung zu bündeln:
Ich verpacke meine App als Zip-Datei mit den folgenden Ordnern:
containerFolder |- jre |-bin (in bin there is java.exe) |-lib |- cfg (to save the user configuration, but it's not needed) |- bin (my application with the .exe and the .jar and all the other stuff)
In der XML-Datei von launch4j konfiguriere ich das jre wie folgt:
Der Trick dabei ist, dass der Pfad nicht zur Datei java.exe führt. Der Pfad zum jre ist relativ zur Position der EXE-Datei und sollte auf einen Ordner vor der Datei java.exe verweisen
Der von mir verwendete JRE-Ordner ist nur ein Kopieren und Einfügen aus dem auf einem Windows-System installierten JRE-Ordner.
quelle
Ich habe Folgendes getan und es hat bei mir mit ver Launch4j 3.11 funktioniert:
Nachdem Sie in Launch4j alle erforderlichen Optionen festgelegt haben, setzen Sie den Pfad für die gebündelte JRE auf "jre".
quelle
Das gleiche Problem wie du Kumpel. Keine Sorge jetzt. Es ist alles mit der maximalen Tiefe zu lösen, um zukünftige Lösungen zu lösen. Lösung, wie Sie Ihre JRE für Ihr JAR bündeln können, ohne dass der Benutzer Java installieren muss oder nicht. Ihre Java-Anwendung wird ausgeführt.
lib
undbin
Ordner aus Ihrem JRE- Ordner in Ihren Projekt-Dist-OrdnerDer Trick ist, dass Sie den vollständigen Pfad zur einschließlich javaw.exe angeben müssen.
Genießen!!!!
quelle
Ich habe das gerade getan. Beschreiben Sie oben klar die Methode zum Bündeln von jre.
Hier teile ich nur eine Erfahrung, mit der ich zu kämpfen hatte. Wenn Sie eine Installer-Exe nach der von launch4j erstellten Wrapper-Exe erstellen möchten, achten Sie auf den Dateipfad für launch4j und jre. Dies ist mein Weg, auf dem ich meine Probleme gelöst habe:
launch4j, bin / jre, resources / bin / jre.
launch4j, bin und resources befinden sich auf derselben Ebene.
quelle
Ein funktionierendes Beispiel für die Verwendung von Launch4J zum Bündeln einer Java-Anwendung mit einer bestimmten JRE finden Sie unter https://github.com/vZome/vzome/blob/master/desktop/platform/windows/README.md . Diese bestimmte Distribution ist so konfiguriert, dass vZome die gebündelte JRE anstelle einer auf der Zielplattform gefundenen JRE verwenden muss.
Hoffe das hilft.
quelle
Das jre befindet sich normalerweise in Ihrem SDK-Ordner. Ja, die Online-Links sind Installationsprogramme, aber nach der Installation befindet sich die JRE jetzt auf Ihrer lokalen Festplatte. Meins befindet sich in
Die Teile, die Sie nicht aus der JRE benötigen, könnten wahrscheinlich manuell entfernt werden, wenn Sie es wirklich wollten (ich bin nicht sicher, was online verfügbar ist).
quelle