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

JavaFX Gradle执行jpackageImage报错:1.0-SNAPSHOT版本包含无效组件

问题根因

报错是OpenJDK自带的jpackage工具的版本号校验规则导致,和badass-jlink插件、JDK版本无关。jpackage要求应用版本必须为纯数字点分格式(如1.0、1.0.1),不允许出现-、字母等非数字/点的字符,你配置的全局版本1.0-SNAPSHOT中的-SNAPSHOT属于非法内容,触发校验失败。

解决方案

方案1:修改全局版本号(最简便)

直接修改build.gradle中的全局版本配置,改为符合规则的点分数字版本即可:

// 替换原 version '1.0-SNAPSHOT'
version '1.0.0'

方案2:单独为jpackage指定版本(保留SNAPSHOT全局版本)

如果项目需要保留1.0-SNAPSHOT作为全局版本标识,可在jlink配置块中单独给jpackage指定合法版本号,不使用全局version:

jlink {
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    launcher {
        name = 'Karrty'
    }
    // 新增jpackage独立配置
    jpackage {
        appVersion = "1.0.0"
        // 若要保留SNAPSHOT标识,可放在描述等其他字段:
        // description = "1.0-SNAPSHOT 开发测试版本"
    }
}

修改后重新执行jpackageImage任务即可正常打包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 01:06:02