Как получить Launch4j XML Config для правильной сборки JRE? - PullRequest
0 голосов
/ 06 мая 2020

У меня есть программа, которую я бы очень хотел использовать для специальной JRE, вместо того, чтобы требовать от моих клиентов загрузки Java. Я использую Launch4j в качестве инструмента сборки и пытаюсь использовать встроенную функцию JRE. Я скопировал JRE в каталог моей программы и настроен следующим образом:

//home/user/Program Name:

/cfg (contains Launch 4j xml build file)
/bin (contains signature key, exe, and Jar file)
/Runtime (contains working copy of JRE)

Я попытался изменить xml, чтобы он указывал непосредственно на Javaw.exe в JRE, но это не так. не имеет значения. Я также пробовал добавить следующую строку в xml для других форумов SO, но, честно говоря, я не уверен на 100%, что он делает:

<opt>-DgvSIG.confDir=../cfg</opt>

Мой вопрос в том, какие изменения мне нужны сделайте мою конфигурацию xml, чтобы любой удаленный пользователь мог открыть мою программу без первой загрузки Java. Я нахожусь на Windows, и пока это нормально, работать только для windows. Вот мой xml:

<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>console</headerType>
  <jar>C:\Users\zrr81\Climate Dev Pegasus\bin\ClimateDevPegasus_Alpha.jar</jar>
  <outfile>C:\Users\zrr81\Climate Dev Pegasus\bin\ClimateDevPegasus_Alpha.exe</outfile>
  <errTitle></errTitle>
  <cmdLine></cmdLine>
  <chdir>.</chdir>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <supportUrl></supportUrl>
  <stayAlive>false</stayAlive>
  <restartOnCrash>false</restartOnCrash>
  <manifest></manifest>
  <icon>C:\Users\zrr81\Climate Dev Pegasus\Pegasus.ico</icon>
  <jre>
    <path>Climate Dev Pegasus\Runtime\jdk-13.0.1\bin\javaw.exe</path>
    <bundledJre64Bit>true</bundledJre64Bit>
    <bundledJreAsFallback>false</bundledJreAsFallback>
    <minVersion>1.5.0</minVersion>
    <maxVersion>13.0.2</maxVersion>
    <jdkPreference>preferJre</jdkPreference>
    <runtimeBits>64/32</runtimeBits>
  </jre>
</launch4jConfig>

1 Ответ

0 голосов
/ 07 мая 2020

Оказывается, это довольно просто исправить, но очень сложно найти правильную информацию. В Launch 4J есть параметр, который позволяет принудительно установить локальный JDK и предотвратить попытки программы принудительно выполнить установку fre sh:

enter image description here

Когда вы установите sh этот параметр, он позволит вам использовать связанную JRE и сгенерировать следующую строку в XML:

<jdkPreference>jdkOnly</jdkPreference>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...