JSmooth: вопрос о пакетировании JRE

Я пытаюсь связать 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.


person chama    schedule 15.03.2010    source источник
comment
Как насчет просто JRE? Windows предполагает пути относительно текущей папки, если не указано иное.   -  person Jason Nichols    schedule 15.03.2010
comment
когда я использовал .\jre, программа переключила его на обычный jre, и он все еще не работал. хотя попробую еще раз   -  person chama    schedule 15.03.2010


Ответы (3)


просто поместите папку «jre» рядом с exe и напишите «jre» (без кавычек) в графическом интерфейсе jsmooth

person Hazem Elraffiee    schedule 01.08.2013

В качестве альтернативы я бы предложил использовать зрелый проект с открытым исходным кодом, NSIS. Вы можете написать установщик, который загрузит и установит JRE, а затем создаст ярлыки для запуска вашей программы.

Вот несколько полезных ссылок:

person Sualeh Fatehi    schedule 14.05.2010

Пробовали ли вы Launch4J (http://launch4j.sourceforge.net/), мы перешли с JSmooth на этот некоторое время назад, так как он был более современным и имел больше возможностей.

Но поместите папку jre в ту же папку, что и .exe, а затем используйте jre\ в качестве пути к ней. Однако вам нужно убедиться, что рабочая папка .exe является папкой установки. И убедитесь, что у вас есть полная JRE в папке jre.

person Dan Godfrey    schedule 19.05.2010