Ist es möglich, eine JRE in einer exportierten eigenständigen Java-App zu bündeln? Wir haben eine sehr spezielle Anforderung, um eine Standalone AnyLogic Java App auf einem Rechner laufen zu lassen, auf dem die neueste Java Version nicht installiert ist. Aufgrund der IT Richtlinien des Unternehmens können wir dies nicht tunSo rufen Sie ein eingebettetes JRE über die Befehlszeile auf, um Java-Anwendungen auszuführen
Durch einige Nachforschungen habe ich einige gefunden Websites behaupten, dass sie es bereits für Windows und Mac getan haben.
Using a bundled JRE on OSX https://wiki.openjdk.java.net/display/MacOSXPort/How+to+embed+a+.jre+bundle+in+your+Mac+app http://www.intransitione.com/blog/take-java-to-app-store/
Mein Problem ist, dass die meisten dieser Beiträge zu Bündeln eine App für Mac OS x beziehen und erfordert, dass die JAR-Dateien in einer IDE wie Eclipse erstellt werden. Aber seit ich AnyLogic verwende, werden die JAR-Dateien exportiert, ohne dass ich eingreifen kann. Was ich brauche, ist die Befehlszeilencode zu ändern, die die JAR-Dateien läuft und sieht derzeit wie folgt aus:
java -Xdock:name="AnyLogic Model" -Dnativewindow.awt.nohidpi=true -cp com.anylogic.engine.jar:com.anylogic.engine.nl.jar:lib/database/querydsl/querydsl-sql-codegen-3.6.3.jar -Xmx256m model6.Simulation $*
(Hinweis: Code zur besseren Lesbarkeit reduziert)
in etwas, das ich nehme an das jre passieren oder JVM soll als Argument für den Java-Aufruf verwendet werden. Oder setzen Sie das Verzeichnis, das für Java oder so etwas verwendet werden soll. Wenn Sie den Befehl java auf einem Rechner aufrufen, ohne dass Java installiert ist, wird nichts angezeigt.
Ich habe eine sehr einfache Anwendung, sowie JDK-Plugin, das ich von der Money App bekam, die eine Java-Anwendung, die mit einem eigenen integrierten jre auf OSx läuft, finden Sie hier
https://www.dropbox.com/sh/1bedimsb0lj403t/AADYR7iFoBD4YiqS_RGZ2xAVa?dl=0
Dank
danke, Jaco. Nur um zu verdeutlichen: Sie müssen die JRE noch manuell auf die Maschine Ihres Kunden kopieren, richtig? – Benjamin
Sie fügen die JRE einfach in einen Ordner innerhalb der normalen Gruppe von Dateien ein, die Sie dem Client zur Verfügung stellen würden. In meinem Code, in dem ich den Pfad ändere, wird davon ausgegangen, dass Sie die gewünschte Java-Version in die Stammordner-Struktur kopiert haben. Auf diese Weise können Sie auf den Pfad zu '\ jre \ bin \ java verweisen. unter Windows und './jre/bin/java' auf Mac. Ich habe den ersten Abschnitt in meiner Antwort für mehr Klarheit bearbeitet –