IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等

IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等

前面介绍到了用packr打包javafx17为exe多平台分发,比较复杂,这篇则介绍用idea直接打包exe,比较简单,但是需要注意的是Maven依赖的添加。

使用idea打包的exe会把整个jdk给打包进去,体积比较大,自己可以修改这个打包内容,从而做到减少体积。

一、准备一个javafx项目

这是我用jdk8+fastjson+okhttp+fontawesome+jfoenix+controlsfx开发的一个demo:
在这里插入图片描述
算是稍微有点复杂吧?

二、IDEA打包exe

idea中 File》Proiect Structure》Artfacts
添加javafx application
在这里插入图片描述
只需修改两处地方,即启动入口和本地包,Native bundle选择all,注意我用的是idea2020.3.4,若没有javafx这个选项,请考虑更换idea版本!!!
在这里插入图片描述
然后点构建:
在这里插入图片描述
在这里插入图片描述
这时你会发现它在out下生成了一个out\artifacts\jdownload\bundles\jdownload\jdownload.exe
在这里插入图片描述
运行它你会发现运行不了:
在这里插入图片描述

添加Maven依赖

这时因为缺少Maven依赖,打包时没有将maven依赖囊括进来,我们执行Maven命令来将所有Maven依赖导出,手动导入到这个exe的运行环境:
当然,如果你对java的运行环境有点熟悉,那么在打包的时候就能囊括进来,这里按最简单的方法演示

mvn dependency:copy-dependencies -DoutputDirectory=lib

在这里插入图片描述
在这里插入图片描述

将导出的依赖复制到:out\artifacts\jdownload\bundles\jdownload\runtime\lib\ext下面
在这里插入图片描述
再运行一次out\artifacts\jdownload\bundles\jdownload\jdownload.exe,,你就发现它起来了!
在这里插入图片描述
至此打包exe完成,哪些图标版本什么的可自行配置。

不难看出,idea它是将所有jdk都copy过去,我们可以下载一个官网的openjdk,将对应不需要的文件替换,从而达到减少内存体积。

创作不易,写文章也花长时间,你觉得对你有帮助请给我点个赞!一健三连…谢谢啦!

posted @   凌康  阅读(1047)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示