Ich versuche, eine JRE mit meiner JAR-Datei zu bündeln, so dass ich meine Anwendung auf jedem Windows-Computer ausführen kann, unabhängig davon, ob es Java hat oder nicht. Das JSmooth Handbuch sagt:JSmooth Frage zum Bündeln einer JRE
For the option to work correctly, you have to put a JRE in a directory near the EXE (generally in a subdirectory called "jre" or whatever). Once the exe is generated, it will FIRST try to locate the JRE at the location mentioned. If it can't be found there, then it will fallback in the normal jre look-up mode (search for a jre or a jdk in the Windows registry or in commonly-used environment variables). There is no JVM-version check when using a bundled JRE, as the packager is supposed to bundle a suitable JVM for the application.
Bedeutet dies, dass die jre Unterordner sollte im Glas enthalten sein, ein eigener separater Gefäß sein, oder in dem Ordner abgelegt, die zusammen mit der exe kommt? Wenn es in einem Ordner mit der exe sein soll, wie kann ich den relativen Pfad zum Unterordner jre angeben?
Meine Verzeichnisse sind wie folgt:
setup/
-jre/
-myprogram.exe
Ich versuchte ..\jre
verwenden, .\jre
, ..\setup\jre
in dem GUI-Bildschirm, aber keine von ihnen hat gearbeitet.
Alle Ideen oder Hinweise würden sehr geschätzt werden. Vielen Dank!
EDIT: als ich versuchte jre
(und ..\jre
Ich denke), habe ich die folgende Fehlermeldung von Windows, wenn ich es versucht, es auszuführen "MyProgram.exe hat aufgehört zu laufen." Wenn ich mir die Problemdetails anschaue, steht APPCRASH und der Name des Fehlermoduls lautet jvm.dll
Wie wäre es nur „jre“? Windows nimmt Pfade relativ zum aktuellen Ordner an, sofern nicht anders angegeben. –
Wenn ich. \ Jre verwendet, hat das Programm es auf plain jre umgestellt, und es hat immer noch nicht funktioniert. Ich werde es wieder versuchen, obwohl – chama
immer noch nicht funktioniert hat. – chama