You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jpackage打包Java应用时出现Failed to launch JVM错误求助

解决jpackage生成的EXE启动时“Failed to launch JVM”问题

可能的原因及修复步骤

1. 修正Maven exec插件的参数错误

你的pom.xml中--type参数后面多了一个空格,这会导致jpackage解析参数异常:

<!-- 错误写法 -->
<argument>--type </argument>
<argument>exe</argument>

<!-- 修正后 -->
<argument>--type</argument>
<argument>exe</argument>

2. 强制指定JRE运行时镜像

jpackage默认会打包当前环境的JRE,但路径含特殊字符或环境变量识别异常时会出问题。手动指定JDK/JRE路径:

  • 命令行方式添加参数:
    jpackage --input target --name kata7 --main-jar kata7-1.0-SNAPSHOT.jar --main-class org.example.Main --type exe --runtime-image "C:\Program Files\Java\jdk-18.0.2"
    
  • Maven插件中添加对应配置:
    <arguments>
        <!-- 原有参数 -->
        <argument>--runtime-image</argument>
        <argument>C:\Program Files\Java\jdk-18.0.2</argument> <!-- 替换为你的实际JDK路径 -->
    </arguments>
    

3. 检查安装目录权限

Windows系统下,安装到Program Files等系统目录可能导致应用无读写权限,JVM启动失败:

  • 尝试将应用安装到非系统目录(如D:\Apps\kata7)
  • 右键启动程序,选择「以管理员身份运行」测试

4. 查看应用日志定位具体问题

jpackage生成的应用会输出详细日志,默认路径:
C:\Users\<你的用户名>\AppData\Local\kata7\logs
打开日志文件,可获取JVM启动失败的具体原因(如内存配置、依赖缺失等)

5. 验证Shade插件生成的Jar完整性

虽然Jar能运行,仍需做二次确认:

  • 执行java -jar target/kata7-1.0-SNAPSHOT.jar,确保无任何运行报错
  • 解压Jar,检查META-INF/MANIFEST.MF文件,确认Main-Class字段为org.example.Main且无拼写错误

内容的提问来源于stack exchange,提问作者Raknah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 20:52:43