IDEA、JDK17、OpenJFX(javaFX)快速开发桌面应用,并打包成exe可执行文件

6 篇文章 0 订阅
3 篇文章 0 订阅

个人从事java开发很多年,但一直都是在web应用上玩来玩去,心血来潮,猛然想到像DBeaver、finalshell、Behinder(冰蝎)、BurpSuite、Jmeter、IDEA等等这类比较知名软件都是使用java语言编写的桌面应用,那么java是否有更好的桌面应用开发的框架呢?

准备环境

  1. IDEA
  2. JDK17
  3. Windows
  4. Scene Builder

快速搭建

打开IDEA点击File-> new -> Project
在这里插入图片描述
左边选择JavaFX,右边配置环境,个人偏好于JDK17,号称是目前(2022)最快的LTS版本,且免费。
在这里插入图片描述
这个是开源架构,需要的可以直接勾选
在这里插入图片描述
在这里插入图片描述

创建成功后会有一个hello-view.fxml文件,这就是一个Scene(场景),可以使用Scene Builder打开。
在这里插入图片描述
Scene Builder是一个官方推荐的绘图软件,可以绘制窗口样式。这相对于是awt、Swing纯代码绘图的架构是一种进步。

运行程序方式很多,直接敲命令、运行Main方法、双击右边javafx:run都可以。本文使用的是命令,进入根目录下

mvnw clean javafx:run

这样可以顺便校验了你本地环境,方便下面打包成exe文件使用
在这里插入图片描述
此时可以看到已经报错
在这里插入图片描述
原因是我系统变量jdk版本不是17.配置jdk17后,重启IDEA再次运行命令
在这里插入图片描述
执行成功。下面打包,直接运行

mvnw clean javafx:jlink

在这里插入图片描述
此时已经生成app文件夹,还贴心的生成了app.zip压缩包。其中包含了jre,总共大小才70多M大小。应该是自动剔除了不需要用到的包或类。
在这里插入图片描述
进入bin目录下运行app.bat
在这里插入图片描述
可以看到编写的窗口,但这并不是我们想要的exe,而且可以看到还拖着一个命令提示符。
下面我们来转化成exe执行文件。在根目录下运行

jpackage --name test --type app-image  -m com.example.openjfx17/com.example.openjfx17.HelloApplication  --runtime-image .\target\app\
  • jpackage是从jdk14之后自带的打包工具。
  • –type -t :打包类型,可取值app-image、exe、msi
  • –name -n:打包之后的应用或包名称
  • –module -m:格式<module name>[/<main class>],模块名/main,不会写可以直接复制pom.xml中的mainClass标签内容。
  • –runtime-image:运行镜像的未知,上一个命令打包的文件夹。

在这里插入图片描述
进入文件夹,运行test.exe执行命令。
在这里插入图片描述
运行成功,而且没有之前命令行提示符。大功告成!

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值