IDEA、JDK17、OpenJFX(javaFX)快速开发桌面应用,并打包成exe可执行文件 |
您所在的位置:网站首页 › 可自制主题软件 › IDEA、JDK17、OpenJFX(javaFX)快速开发桌面应用,并打包成exe可执行文件 |
个人从事java开发很多年,但一直都是在web应用上玩来玩去,心血来潮,猛然想到像DBeaver、finalshell、Behinder(冰蝎)、BurpSuite、Jmeter、IDEA等等这类比较知名软件都是使用java语言编写的桌面应用,那么java是否有更好的桌面应用开发的框架呢? 准备环境 IDEAJDK17WindowsScene 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:格式[/],模块名/main,不会写可以直接复制pom.xml中的mainClass标签内容。–runtime-image:运行镜像的未知,上一个命令打包的文件夹。进入文件夹,运行test.exe执行命令。 运行成功,而且没有之前命令行提示符。大功告成! |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |