启动4j捆绑的JRE错误。"此应用程序配置为使用捆绑的Java运行时环境,但运行时环境丢失或损坏"。

4

我第一次使用launch4j,遇到了以下错误。这是launch4j的错误日志。

Compiling resources
Generated resource file...
LANGUAGE 0, 1
2 RCDATA BEGIN "1.5.0\0" END
18 RCDATA BEGIN "1\0" END
21 RCDATA BEGIN "http://java.com/download\0" END
20 RCDATA BEGIN "32\0" END
101 RCDATA BEGIN "An error occurred while starting the application.\0" END
102 RCDATA BEGIN "This application was configured to use a 
bundled Java Runtime Environment but the runtime is missing or corrupted.\0" END
103 RCDATA BEGIN "This application requires a Java Runtime Environment\0" END
104 RCDATA BEGIN "The registry refers to a nonexistent
Java Runtime Environment installation or the runtime is corrupted.\0" END
17 RCDATA BEGIN "true\0" END

这是生成的XML文件:

<launch4jConfig>
<dontWrapJar>false</dontWrapJar>
<headerType>gui</headerType>
<jar>/DesktopApp/launch4j/applicationname.jar</jar>
<outfile>/DesktopApp/launch4j/applicationname.exe</outfile>
<errTitle></errTitle>
<cmdLine></cmdLine>
<chdir></chdir>
<priority>normal</priority>
<downloadUrl>http://java.com/download</downloadUrl>
<supportUrl></supportUrl>
<stayAlive>false</stayAlive>
<manifest></manifest>
<icon></icon>
<jre>
<path></path>
<bundledJre64Bit>false</bundledJre64Bit>
<minVersion>1.5.0</minVersion>
<maxVersion></maxVersion>
<jdkPreference>preferJre</jdkPreference>
</jre>
</launch4jConfig>

非常感谢您的帮助。如果有其他可替代的launch4j,请告诉我。

8个回答

14

我试图使用一个 *.png 文件作为我的图标,但它需要的是 *.ico 文件。一旦我从我的配置文件中删除了 <icon>...</icon> 这个标签,这个错误就消失了。


3

请检查您使用的图标文件(如果有)。当我尝试包装我的Java可执行文件时,我也遇到了同样的错误。我使用了一个PNG文件,将其转换成我认为是图标(.ico)文件。结果发现这种转换不起作用。在使用我Windows系统上找到的正确的.ico文件后,它就可以工作了。


3

我以管理员身份运行了launch4j应用程序,这样错误就消失了。


2

1

将路径指定为\bin\jre_path。例如,如果您有一个名为dist的文件夹,其中包含bin子文件夹,并在其中放置了jre文件。


1

原因是在运行EXE文件的机器上安装了不同版本的JRE。


请进一步解释你的答案。哪个版本的JRE导致了问题? - Rahul Vishwakarma
当我的JRE版本与执行EXE文件的机器上的版本不匹配时,我会收到错误提示“此应用程序配置为使用捆绑的Java运行时环境,但运行时环境丢失或损坏”。 - svichkar
1
我机器上安装了JRE 1.8.0。我使用Launch4j程序使用默认设置生成了EXE文件。 然后,在JRE版本与1.8.0不匹配的机器上无法执行此EXE。 解决方案是 - 在设置的JRE选项卡中指定“Min JRE version”作为最早的JRE版本,例如1.5.0,就像我所做的那样。 请参见我的屏幕截图 https://www.dropbox.com/s/ia34ccc7tf3nhpb/JRE_tab.png?dl=0 - svichkar

0

以上的任何方法都没有帮助到我。解决方法是将JRE的lib和bin文件夹复制到dist目录下的一个新文件夹中(我称之为jre),然后使用该文件夹名称作为打包的JRE路径:输入图像描述


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接