gpt4 book ai didi

java - EXE4j Jar 到 exe 错误

转载 作者:行者123 更新时间:2023-11-30 09:21:24 25 4
gpt4 key购买 nike

我最近是 Java 7 update 21 JDK,我用 netbeans 创建了 java 应用程序为了分发我的 jar,我使用 Exe4j 4.5.2 Jar 来执行。

现在,当我使用 Exe4j 时,它会创建 exe,但当我执行它时,它会显示错误消息。

“JVM 无法启动。最大堆大小 (-Xmx) 可能太大,或者防病毒或防火墙工具可能会阻止执行。”

经过几次测试后,我发现我以前(在安装 JDK7u21 之前)来自 exe4j 的工作应用程序 exe 文件现在也给出了相同的错误消息。

(我使用的是 64 位版本的 JDK 和 EXE4j,但编译的 exe 是 32 位的。我想要 32 位的应用程序)

最佳答案

Exe4j 通过加载目标 JVM 的 DLL 来工作,这要求 JVM 与可执行包装器具有相同的“位数”。所以 32 位的 Exe4j 包装器只能加载 32 位的 JVM,而 64 位的包装器只能加载 64 位的 JVM。

当 Exe4j 在注册表中搜索 JVM 时,它会忽略任何位数错误的 JVM,而只查看其自身位数的 JVM。但是,如果您通过设置 EXE4J_JAVA_HOME 环境变量强制 Exe4j 加载特定的 JVM,并且位数不匹配,则 JVM 加载将失败。

如果您想要 32 位应用程序(即可执行包装程序),则必须安装 32 位 JRE 或 JDK。另一方面,如果您希望使用 64 位 JVM,则必须提供 64 位可执行包装器。

关于java - EXE4j Jar 到 exe 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17036078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com