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

如何将IntelliJ中基于Kotlin开发的TornadoFX桌面应用打包分发

TornadoFX 项目打包发布可行方案

方案1:构建带全依赖的可执行Jar(快速交付)

这个方案操作简单,生成的文件兼容性强,适合快速给客户测试使用。

  • 第一步:配置Gradle构建脚本
    打开项目根目录下的build.gradle.kts(如果用Groovy语法的build.gradle可对应调整语法),添加以下配置:
    首先添加必要插件:
    plugins {
        kotlin("jvm") version "匹配你项目用的Kotlin版本"
        id("org.openjfx.javafxplugin") version "0.0.13"
        id("com.github.johnrengelman.shadow") version "7.1.2"
        application
    }
    
    配置入口类,替换为你自己的NcbAdminPcApp的全限定名(带包名):
    application {
        mainClass.set("com.yourcompany.NcbAdminPcApp")
    }
    
    配置JavaFX依赖模块:
    javafx {
        version = "匹配你项目用的JavaFX版本"
        modules = listOf("javafx.controls", "javafx.fxml", "javafx.graphics", "javafx.base", "javafx.swing")
    }
    
    配置fat jar打包规则,解决TornadoFX服务加载问题:
    tasks.withType<com.github.jengelman.gradle.plugins.shadow.tasks.ShadowJar> {
        mergeServiceFiles()
        manifest {
            attributes["Main-Class"] = application.mainClass.get()
        }
    }
    
  • 第二步:执行打包
    在IDEA右侧的Gradle任务面板中,依次找到shadow->shadowJar,双击执行。构建完成后,在项目根目录的build/libs路径下会生成名称带-all后缀的jar文件。
  • 第三步:适配无Java环境的客户
    如果客户电脑没有安装对应版本的JRE,可以把JRE文件夹和打包好的jar放在同一目录,新建一个启动脚本启动.bat,内容为:
    @echo off
    start jre\bin\javaw.exe -jar 你的jar包名称-all.jar
    
    把JRE文件夹、jar包、启动脚本一起压缩发给客户,双击启动.bat即可运行。

方案2:打包为EXE安装包(正式交付)

这个方案生成的是标准Windows安装包,客户安装流程和普通软件一致,体验最好。

  • 第一步:先完成方案1的所有配置,确保生成的-all.jar文件可以正常运行。
  • 第二步:使用JDK自带的jpackage工具打包为安装包
    JDK14及以上版本自带jpackage工具,打开命令行进入build/libs目录,执行以下命令:
    jpackage --input . --name NCB数据录入工具 --main-jar 你的jar包名称-all.jar --main-class com.yourcompany.NcbAdminPcApp --type exe --win-dir-chooser --win-shortcut --win-menu --icon app.ico
    
    参数说明:
    • --name:填写你的软件名称
    • --win-dir-chooser:允许用户自定义安装路径
    • --win-shortcut:自动生成桌面快捷方式
    • --win-menu:将软件添加到开始菜单
    • --icon:可选参数,指定软件的ico格式图标,不需要可以删除该参数
      执行完成后同目录会生成EXE安装包,直接发给客户安装即可使用,无需客户提前安装Java环境。

常见问题说明

之前你打包失败的核心原因是默认构建的Jar没有包含全部JavaFX、TornadoFX依赖,也没有合并TornadoFX运行必需的服务配置文件,按上述配置后即可解决。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:15:03