惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

大猫的无限游戏
大猫的无限游戏
Webroot Blog
Webroot Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
T
Threat Research - Cisco Blogs
V2EX - 技术
V2EX - 技术
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
Recorded Future
Recorded Future
S
Schneier on Security
I
InfoQ
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
The GitHub Blog
The GitHub Blog
S
Security @ Cisco Blogs
O
OpenAI News
W
WeLiveSecurity
Vercel News
Vercel News
阮一峰的网络日志
阮一峰的网络日志
Simon Willison's Weblog
Simon Willison's Weblog
人人都是产品经理
人人都是产品经理
Cloudbric
Cloudbric
The Last Watchdog
The Last Watchdog
The Hacker News
The Hacker News
Google Online Security Blog
Google Online Security Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
GbyAI
GbyAI
NISL@THU
NISL@THU
T
Tailwind CSS Blog
V
Visual Studio Blog
PCI Perspectives
PCI Perspectives
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Jina AI
Jina AI
D
DataBreaches.Net
B
Blog RSS Feed
N
News and Events Feed by Topic
N
News and Events Feed by Topic
H
Heimdal Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
腾讯CDC
Latest news
Latest news
V
Vulnerabilities – Threatpost
Hacker News: Ask HN
Hacker News: Ask HN
WordPress大学
WordPress大学
V
V2EX
aimingoo的专栏
aimingoo的专栏
博客园 - 司徒正美
Apple Machine Learning Research
Apple Machine Learning Research
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Register - Security
The Register - Security
Help Net Security
Help Net Security

牛牛技术客栈

设计模式-备忘录模式 - OXOXTECH 牛牛技术客栈 设计模式-中介者模式 - OXOXTECH 牛牛技术客栈 Linux【Ubuntu】修改ssh默认端口 - OXOXTECH 牛牛技术客栈 设计模式-迭代器模式 - OXOXTECH 牛牛技术客栈 scheduled定时任务的三种基本实现方式 - OXOXTECH 牛牛技术客栈 Apriori - 基于关联规则的推荐算法(三) - OXOXTECH 牛牛技术客栈 Apriori - 基于关联规则的推荐算法(二) - OXOXTECH 牛牛技术客栈 Apriori - 基于关联规则的推荐算法(一) - OXOXTECH 牛牛技术客栈 基于JavaFX的桌面端网络调试工具 - OXOXTECH 牛牛技术客栈 Golang Channel的原理介绍 - OXOXTECH 牛牛技术客栈 Go语言Map的原理分析 - OXOXTECH 牛牛技术客栈 Go语言错误处理(panic)的最佳实践 - OXOXTECH 牛牛技术客栈 设计模式-解释器模式 - OXOXTECH 牛牛技术客栈 Redis报错Redis is configured to save RDB snapshots, but it's currently unable to persist to disk. go-webpbin库在Linux报错failed to encode image to WebP: exit status 1.......的问题 exe4j 打包加密的jar - OXOXTECH 牛牛技术客栈 Go生成图形验证码示例 - OXOXTECH 牛牛技术客栈 澳门一天游:一日尽享东方与西方的交融之美 - OXOXTECH 牛牛技术客栈 设计模式-命令模式 - OXOXTECH 牛牛技术客栈 别再自己瞎写工具类了,SpringBoot内置工具类应有尽有 - OXOXTECH 牛牛技术客栈 中山一日游 - OXOXTECH 牛牛技术客栈 设计模式-责任链模式 - OXOXTECH 牛牛技术客栈 起舞吧,齐舞吧 - OXOXTECH 牛牛技术客栈 设计模式-组合模式 - OXOXTECH 牛牛技术客栈 Go语言Web开发|GoFrame框架入门笔记 - OXOXTECH 牛牛技术客栈 Java打包exe教程 - OXOXTECH 牛牛技术客栈 设计模式-代理模式 - OXOXTECH 牛牛技术客栈 MySQL存储过程的优缺点有哪些? - OXOXTECH 牛牛技术客栈 前端渲染优化有哪些? - OXOXTECH 牛牛技术客栈 HTTP状态码及其含义 - OXOXTECH 牛牛技术客栈 从浏览器地址栏输入url到显示页面的步骤 - OXOXTECH 牛牛技术客栈 TypeScript事件派发管理器 - OXOXTECH 牛牛技术客栈 MQTT保留消息的使用方法 - OXOXTECH 牛牛技术客栈 世界工程-港珠澳大桥游 - OXOXTECH 牛牛技术客栈 Golang逃逸分析 - OXOXTECH 牛牛技术客栈 设计模式-享元模式 - OXOXTECH 牛牛技术客栈 牛牛成长记录 - OXOXTECH 牛牛技术客栈 ffmpeg常用命令 - OXOXTECH 牛牛技术客栈 设计模式-外观模式 - OXOXTECH 牛牛技术客栈 设计模式-装饰器模式 - OXOXTECH 牛牛技术客栈 设计模式-桥接模式 - OXOXTECH 牛牛技术客栈 5周年恋爱纪念日 - OXOXTECH 牛牛技术客栈 2024新年快乐,龙腾四海 - OXOXTECH 牛牛技术客栈 迎接新年:除夕的美好时刻 - OXOXTECH 牛牛技术客栈 设计模式-适配器模式 - OXOXTECH 牛牛技术客栈 设计模式-原型模式 - OXOXTECH 牛牛技术客栈 设计模式-建造者模式 - OXOXTECH 牛牛技术客栈 设计模式-工厂模式 - OXOXTECH 牛牛技术客栈 设计模式-单例模式 - OXOXTECH 牛牛技术客栈 SpringBoot在Linux环境下发送163邮件失败(No appropriate protocol (protocol is disabled or cipher suites are inappropriate)) 海与日落 - OXOXTECH 牛牛技术客栈 Swagger比较常用的注解 - OXOXTECH 牛牛技术客栈 猫🐱牛 - OXOXTECH 牛牛技术客栈 2023年最后一个晚霞 - OXOXTECH 牛牛技术客栈 Linux(Centos)部署Nginx教程 - OXOXTECH 牛牛技术客栈 Linux MySQL下载安装详细教程(CentOS版) - OXOXTECH 牛牛技术客栈 Flux脚本语言入门教程 - OXOXTECH 牛牛技术客栈 演唱会出图 - OXOXTECH 牛牛技术客栈 Netty TCP解决粘包拆包 - OXOXTECH 牛牛技术客栈 SpringBoot实现订单超时取消的几种方案 - OXOXTECH 牛牛技术客栈 详解Java并发中的各种锁 - OXOXTECH 牛牛技术客栈 SpringBoot集成支付宝支付 - OXOXTECH 牛牛技术客栈 雪花算法:分布式系统唯一ID生成算法 - OXOXTECH 牛牛技术客栈 Java解决空指针的神器Optional - OXOXTECH 牛牛技术客栈 与兴一起 - OXOXTECH 牛牛技术客栈 Java17新特性详解与安装 - OXOXTECH 牛牛技术客栈 Jdk17安装+环境配置详细教程 - OXOXTECH 牛牛技术客栈 孤注一掷 - OXOXTECH 牛牛技术客栈 解决WinSCP经常断线重连 - OXOXTECH 牛牛技术客栈 内存不足导致Tomcat崩溃问题排查与解决办法 - OXOXTECH 牛牛技术客栈 influxDB初识,一个高效的时序数据库 - OXOXTECH 牛牛技术客栈 SpringBoot 服务接口限流方案 - OXOXTECH 牛牛技术客栈 Docker 安装 Portainer - OXOXTECH 牛牛技术客栈 Linux 安装Docker - OXOXTECH 牛牛技术客栈 物料宣传 - OXOXTECH 牛牛技术客栈 Java使用EMQX实现MQTT通信 - OXOXTECH 牛牛技术客栈 Java实现常见的排序算法 - OXOXTECH 牛牛技术客栈 FreeSwitch Windows安装教程 - OXOXTECH 牛牛技术客栈 MQTT单向SSL数据加密 - OXOXTECH 牛牛技术客栈 随性 - OXOXTECH 牛牛技术客栈 mysql报错Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre的解决方案 Git Push项目报 push to origin/master was rejected 错误解决方案 游行记——珠海金沙滩与金湖公园之行 - OXOXTECH 牛牛技术客栈 Tomcat:解决Tomcat启动警告:"无法将资源添加到Web应用程序缓存中....请考虑增加缓存空间" 的问题 - OXOXTECH 牛牛技术客栈 励骏庞都广场,迷一般的皇宫 - OXOXTECH 牛牛技术客栈 Docker 常用命令集合 - OXOXTECH 牛牛技术客栈 ElasticSearch Windows版-安装教程 - OXOXTECH 牛牛技术客栈 Java去除对象中为null的字段 - OXOXTECH 牛牛技术客栈 我和我的青春 - OXOXTECH 牛牛技术客栈 Java实现螺旋矩阵算法: - OXOXTECH 牛牛技术客栈 Java直接内存分配和释放的理解 - OXOXTECH 牛牛技术客栈 FreeSwitch将默认数据库迁移至MySQL - OXOXTECH 牛牛技术客栈 别错过路上的风景,别错过刹那间的深情! - OXOXTECH 牛牛技术客栈 Viewer.js:一款强大的图片预览组件 - OXOXTECH 牛牛技术客栈 Java JDK Proxy和CGLib动态代理示例 - OXOXTECH 牛牛技术客栈 redis常用命令 - OXOXTECH 牛牛技术客栈 SpringBoot查询IP归属地 - OXOXTECH 牛牛技术客栈 Spring 事务失效的六种情况 - OXOXTECH 牛牛技术客栈 #张艺兴每时每刻# - OXOXTECH 牛牛技术客栈 Nginx常用命令及具体应用 - OXOXTECH 牛牛技术客栈
JavaFx打包成exe - OXOXTECH 牛牛技术客栈
军阁 · 2023-12-02 · via 牛牛技术客栈

军阁 后端 Java, JavaFx, 教程, Windows

前言

JavaFX 是一个开源的下一代客户端应用平台,适用于基于Java构建的桌面、移动端和嵌入式系统。 它是许多个人和公司的共同努力的成果,目的是为开发丰富的客户端应用提供一个现代、高效、功能齐全的工具包。官方文档: https://openjfx.io/openjfx-docs/#introduction

而我最近使用JavaFx搞了一个小工具,主要是对局域网内其他设备的搜寻和展示,目前已开源在gitee

重点:本文将介绍如何将JavaFx工程打包为.exe文件。如果是jdk14以下打包exe请参考使用exe4j进行打包。

exe4j打包jar请参考: https://zhuanlan.zhihu.com/p/517738168?utm_id=0

创建JavaFx项目

首先使用idea新建一个javafx的项目,填写好相关信息

202311061611266299.webp

接着下一步到选择GUI控件步骤

20231106161230864.webp

随后点击CREATE创建,就可以编写自己的代码了。构建图形GUI这里推荐使用Scene Builder,可直接拖拽UI库中的组件进行页面的构建,有兴趣的可以自行百度一下安装

可以看到的是idea给我们自动添加好了打包的插件,方便后续打包

202311061614244604.webp

使用javafx:jlink构建

假设这里你的程序已经编写完成并且本地测试没问题后,我们点击右侧栏的Maven菜单->Plugins->javafx->javafx:jlink

202311061619136316.webp

打包好后会在target里生成一个app.bat批处理文件,路径target/app/bin/app.bat。可以直接双击运行

202311061621365501.webp

这还不够,本文是要将这个app.bat打包为.exe,这里使用jpackage进行打包(注意:jpackage 是在jdk14正式引入的打包工具)

使用jpackage打包成exe

首先使用cmd到达项目的根目录,也就是target所在的根目录,随后执行以下命令:

jpackage --name LANGadget --type app-image -m com.lan.findlandev/com.lan.findlandev.LANApplication --runtime-image .\target\app\ --icon C:\Users\devse\Downloads\LANGadget.ico
  • --type -t :打包类型,可取值app-image、exe、msi
  • --name -n:打包之后的应用或包名称
  • --module -m:格式<module name>[/<main class>],模块名/main,不会写可以直接复制pom.xml中的mainClass标签内容。
  • --runtime-image:运行镜像的未知,上一个命令打包的文件夹。
  • --icon:exe的icon图标

按回车执行

202311061631013102.webp

随后就会生成LANGadget目录,目录下就会有这个exe了,注意:LANGadget.exe不可单独拿出来运行,这里其实是基本把整个jre打包进来了,在runtime目录下,由于我们是JavaFx程序,必须依赖jvm运行。

202311061632558943.webp

到这里其实已经完成整个打包流程了,将以上LANGadget目录压缩成一个zip即可做成绿色版。如若想做成可安装的程序的话,请看下一步骤

使用inno setup制作可安装程序

第一步:到官网下载innosetup-6.2.2.exe并安装

202311071444522085.webp

注意:innosetup默认的是英文安装,简体中文安装需要自己去官网下载中文语言包,具体方法如下:

1,到 https://jrsoftware.org/files/istrans/ 找到translations,点击然后下拉找到简体中文语言包Chinese (Simplified)。

202311071510057692.webp

我们将这些脚本代码复制下来,创建一个ChineseSimplified.isl文件,把脚本代码放进去

202311071511407848.webp

2,找到Inno Setup安装文件,进入Languages子文件夹,将刚刚的ChineseSimplified.isl文件复制进去注意要把编码格式设为UTF-8或者UTF-8-BOM,然后到以下打包步骤的第八步中设置安装的语言就可以选择简体中文了。

202311071514036138.webp

第二步:打开安装好的 Inno Setup Compiler 点击File->New,点击Next,如下图:

202311071448338567.webp

第三步:设置应用程序名称和版本号后点击Next(注意是必填)

202311071452044221.webp

第四步:设置文件夹名称,一般保留默认就行,然后继续Next

202311071454056569.webp

第五步:设置exe主文件所在的目录,我们选择刚刚用jpackage打包好的exe和依赖文件,然后Next

202311071538242780.webp

第六步:继续点击Next

202311071501366114.webp

第七步:这里是填写一些许可文件之类的,直接留空,然后一直点Next

202311071504031331.webp

第七步:点Next

202311071504388050.webp

第八步:设置安装的语言,这里把简体中文勾上

202311071515556527.webp

第九步:设置安装包基本信息,设置好后点击Next,一直到Finish

202311071521363465.webp

第十步:到最后会弹出一个窗口告诉你是否立即执行脚本?一直点击“是”

202311071523026328.webp

第十一步:提示让我们保存这个 .iss 文件以便下次可直接执行

image.png

随后执行脚本产生如图:

202311071525506713.webp

即可在刚刚安装包输出的路径中看到我们的exe安装包了

image.png

结尾

到这里我们整个打包exe流程就结束啦!!!

说点什么吧...

共 0 条评论