首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EXE4j Jar到exe错误

EXE4j Jar到exe错误
EN

Stack Overflow用户
提问于 2013-06-11 11:30:59
回答 1查看 2.3K关注 0票数 1

我最近是Java7 update21JDK,我用netbeans创建了Java应用程序来分发我的jar,我使用Exe4j 4.5.2Jar to exe。

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

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

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-08 02:16:27

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

当Exe4j在注册表中搜索JVM时,它将忽略错误位的任何JVM,而只查找它自己的位的JVM。但是,如果您通过设置EXE4J_JAVA_HOME环境变量来强制Exe4j加载特定的JVM,并且这些位不匹配,那么该JVM的加载将失败。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17036078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档