如何新建JavaFX项目并打成可运行 Jar包
Tips. 关于创建JavaFX有很多坑 , 我尽量用更少的语言描述 .(我使用的java版本为18 , 11-18都是不包含JavaFX内置的 , 都是以插件的形式)
高版本的IDEA插件里面是有JavaFX的 , 这个貌似能让你创建JavaFX文件并自动给你导入依赖 .所以我的步骤是相对简单.
1.新建JavaFX项目, 选好 JDK版本 , 11至以上, 8应该也可以
2 . 这里可以不选
3.Idea会将依赖, 以及样例文件(4个)给你弄好,pom ,DXML布局文件, Controller , 以及Application . 不用你主动导入lib和新建文件,
我觉得之所以会自动帮你补全依赖, 是有这个,默认是开启的, 你才能新建JavaFX, 原理就是检测到你想建FX项目, 就自动帮你配置好依赖,
或者说, IDEA本来就内置了这个功能 !
4, 将这个类添加到HelloApplication同一文件夹下 , 这个是非常重要 . !!!!!
public class AppStart { public static void main(String[] args) { HelloApplication.main(args); } }
5. 打包, 去文件->项目结构-> Artifact ->JAR->FROM EMPTY
这里的选择的主类选择最后你新建的那个类. 而非 HelloApplication
而 META-INF 选择主类所在的文件夹
最后主菜单构建工件 - 构建 , 构建的英文是 Artifact
最后 , 可直接运行这个Jar文件 ,
PS: 这里面最重要的, 无非是需要你增加一个程序入口, 这里是AppStart.class , 貌似系统并不能识别HelloApplication.
其我尝试过打包成JavaFX应用程序, 但是系统提示 FX组件不可用 , 或者说Java不内置JavaFX, 造成无法识别 , 但是插件又不能
用来直接打包, 这里我搞不懂
Can't build artifact - fx:deploy is not avaloable in this JDK.
意思就是这个JDK不包含FX工具 , 好奇怪, 插件不是有吗, 为啥不去找插件用来打包.