Я пытаюсь связать JRE с моим файлом jar, чтобы я мог запускать свое приложение на любом компьютере с Windows, независимо от того, есть ли у него Java или нет. В руководстве jsmooth сказано:
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.
Означает ли это, что подпапка jre должна быть включена в банку, быть отдельной отдельной банкой или помещена в папку, которая поставляется вместе с exe? Если он должен быть в папке с exe, как указать относительный путь к подпапке jre?
Мои каталоги следующие:
настраивать/
-jre/
-моя программа.exe
Я пытался использовать ..\jre
, .\jre
, ..\setup\jre
на экране графического интерфейса, но ни один из них не работал.
Мы будем очень признательны за любые идеи или выводы. Огромное спасибо!
РЕДАКТИРОВАТЬ: когда я попробовал jre
(и ..\jre
, я думаю), я получил следующее сообщение об ошибке из Windows, когда я попытался запустить его: «MyProgram.exe прекратил работу». Когда я смотрю на детали проблемы, там написано APPCRASH, а имя неисправного модуля — jvm.dll.