Windows下的JAVAFX桌面应用程序打包ABC
目录
- Windows下的JAVAFX桌面应用程序打包ABC
- Kotlin+JavaFX系列
-
- 谁会读这个文章
- 写作的目标
- 知识背景
-
- JavaFx
- 模块化Java
- JavaFX打包的例子
-
- 例子代码
- 编译的命令行
-
- 设置变量
- 编译Java代码
- 运行
- ``jlink``生成自定义运行时映像
- ``jpackage``打包
Kotlin+JavaFX系列
- 使用Kotlin开发JavaFX
- Windows下的JavaFX桌面应用程序打包ABC
- Kotlin编写JavaFX的顺滑
- JavaFX动画:有趣的AnimationTimer
- JavaFX应用程序图标
- JavaFX专业开发者与业余开发者之间就差一个一个Icon packs
- JavaFX七巧板游戏:布局窗格Panes
- JavaFX七巧板游戏:布局控件
- JavaFX+Kotlin游戏从入门到放弃:拯救蛇蛇大作战又名454行实现几何数独游戏
- Kotlin编写JavaFX的顺滑之数据控件(一)列表视图ListView
- Kotlin编写JavaFX的顺滑之数据控件(二)表视图TableView基础应用
- Kotlin编写JavaFX的顺滑之数据控件(二)表视图TableView基础深入浅出
谁会读这个文章
- 自学使用Java开发桌面程序的初学者(为什么要这么做?);
- 要迅速撸出一个压缩包百兆以下windows应用程序的初级程序员;
- 大部分梯子都是java的程序员,客户只能接受Windows、只能接受单机传统桌面应用;
- 无聊的大佬想要给别人(也就是我)一个成长的机会(谢谢!)。
写作的目标
- 把自己在此处躺的坑记录下来以后回顾;
- 弄一个外部记忆防止自己老年痴呆。
知识背景
JavaFx
官方网站:openjfx
“JavaFX是一个开源的下一代客户端应用平台,用于桌面、移动和嵌入式系统,建立在Java之上。它是由许多个人和公司合作完成的,目标是为开发丰富的客户端应用程序制作一个现代、高效和功能齐全的工具包。”
总之,JavaFX挺愉快,也是开源的。是不是下一代就很那说,也可能就是上一代中没火也没挂的那种。
倒是我最近把它捡起来之后发现,随便写点界面发布一个小应用程序(压缩包二十兆左右)不要太愉快。
- 采用Kotlin开发,
- 不去用webkit,
- 不去用FXML,
- 把数据模型分开放数据可视化模型放在object里面。
模块化Java
参考:Jakob Jenkov博客文章
Java模块是一种打包机制,它使你能够将一个Java应用程序或Java API打包成一个单独的Java模块。一个Java模块被打包成一个模块化的JAR文件。一个Java模块可以指定它包含的哪些Java包应该对使用这个模块的其他Java模块可见。一个Java模块还必须指定哪些其他Java模块来完成它的工作。
Java模块是Java 9中通过Java平台模块系统(JPMS)的一项新功能。
模块化Java有很多优点:
- 通过模块化Java平台的小型应用分发
- 内部包的封装
- 启动时检测缺失的模块
最重要的也就是:“在Java 9和Java平台模块系统之前,你不得不把所有的Java平台API和你的Java应用打包在一起,因为没有正式的方法可以可靠地检查你的Java应用使用了哪些类。由于Java平台的API在这些年里已经变得相当庞大,你的应用程序会得到大量的Java类,其中许多你的应用程序可能不会使用。”
而采用了新的系统之后呢?打包出来的Java应用程序就再也不会那么大。一个典型的JavaFX应用程序,压缩包的大小也就是刚刚超过2


发布评论