Как связать JRE с Launch4j?
У меня есть Launch4J на моем компьютере, и это отличная программа. Одна из его особенностей, которая меня интересует, - это возможность связывать JRE в общем .файл EXE. Однако я не могу найти никакой документации, которая описывает, как это сделать.
Как мне связать JRE с EXE? Кроме того, где я могу получить компактный, портативный JRE для запуска? Ссылки для загрузки в Oracle предназначены для пакетов установщика.
5 ответов:
после некоторых попыток я, наконец, получаю обходной путь для связывания jre в моем приложении:
я упаковываю свое приложение в виде zip-файла со следующими папками внутри:
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)
в xml-файле launch4j я настраиваю jre следующим образом:
<jre> <path>../jre</path> <opt>-DgvSIG.confDir=../cfg</opt> </jre>
хитрость здесь заключается в том, что путь не к java.файл EXE. Путь к jre находится относительно положения .exe и он должен указывать на одну папку перед Java.exe файл
jre папка, которую я использую, - это просто копия и вставка из папки jre, установленной в системе windows.
единственный способ, которым я мог связать JRE, состоял в использовании компилятора Launch4J и Inno Setup.
во-первых, создать папку jre6 (например) в том же каталоге, что выходной файл (.исполняемый.)
затем скопируйте JRE из вашей системы в папку jre6.
затем вы открываете Launch4J и устанавливаете "связанный путь JRE" - просто введите: jre6 . Затем нажмите кнопку построить (очевидно, после того, как вы ввели все остальные параметры - но единственное значение, которое вам нужно ввести на вкладке среда JRE 'сама по себе 'в комплекте стоимость JRE и путь'.)
Я бы ожидал, что это сработает, но если переместить .exe в новое расположение (так что он больше не находится вместе с вашей папкой jre6) вы получаете сообщение об ошибке "это приложение было настроено для использования среды выполнения Java в комплекте, но среда выполнения отсутствует или повреждена" при попытке запустить приложение...
Я играл с этим весь день, и я не мог заставить Launch4J включить JRE этот.файл EXE. Очень плохо, на мой взгляд, так как их документация, похоже, вообще не ссылается на эту проблему.
Итак, что я сделал, чтобы решить-использовать Инно компилятора установки. Это приложение используется, чтобы обернуть ваш .exe как файл установщика Windows. Поэтому я добавил параметр в сценарий ISC, который копирует JRE в пакет установщика. Строка, которую я добавил в скрипт (в разделе [Файлы]), была:
Source: "M:\Netbeans\MyApp\jre6\*"; DestDir: "{app}\jre6\"; Flags: recursesubdirs createallsubdirs
...немного обходной путь, но он сделал свое дело.
повторить все вышеупомянутые шаги, и вы должны быть отсортированы.
ОТВЕТ ВЗЯТ ИЗ здесь..user1617737
та же проблема, как вы мат. Теперь не беспокойся. Его все решают с максимальной глубиной, чтобы решить будущее решение. Решение, как вы можете связать ваш JRE для телефона jar без необходимости, что пользователь должен установить Java или нет. Ваше приложение java будет работать.
- скопировать
lib
и
Я сделал следующее, И это сработало для меня с помощью ver Launch4j 3.11:
- создал новую папку для моего приложения (например, MyApp).
- скопировал файл jar из папки Java project dist в MyApp вместе с папкой lib.
- создал папку с именем jre в папке my application MyApp Итак, теперь папка MyApp содержит:
- приложение.банку
- lib
- jre
- скопировал папки bin и lib из папки java jre (C:\Program Файлы (x86)\Java\jre7) в MyApp\jre
в Launch4j установив все необходимые параметры, затем установите В комплекте JRE путь к "jre"
- убедитесь, что в параметрах поиска " использовать только частные среды выполнения JDK" выбирается.
jre обычно можно найти в папке SDK. Да, ссылки в интернете являются установщиками, но после установки JRE теперь находится на вашем локальном диске. Шахта находится в
${jdk folder}\jre
части, которые вам не нужны из JRE, вероятно, могут быть удалены вручную, если вы действительно хотите (я не уверен, что доступно в интернете).