如何获得Launch4j XML配置以正确捆绑JRE?

问题描述 投票:0回答:1

我有一个我真的很想利用专用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以直接指向JRE中的Javaw.exe,但这没有什么不同。我还尝试过将以下行添加到其他SO论坛的xml中,但老实说,我不是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>
java xml launch4j
1个回答
0
投票

因此,这很容易解决,但是很难找到适当的信息。 Launch 4J中有一个设置,可让您强制使用本地JDK并阻止程序尝试强制执行全新安装:

enter image description here

当您推送该设置时,它将允许您使用捆绑的JRE并在XML中生成以下行:

<jdkPreference>jdkOnly</jdkPreference>
© www.soinside.com 2019 - 2024. All rights reserved.