搞个 JavaFX 折腾死我了,一天都没打包出来
首先, IDEA 创建 JavaFX 项目的时候最低只支持 JDK11
但是,创建 Artifacts 的 JavaFX 应用 时候不支持 11 ,只能是 8 ,好吧。那我就只生成 Jar
生成了 Jar ,然后用 exe4j 打包一下 exe ,自己复制一下 OpenJDK11 到 jre 目录,然后发现 OpenJDK11 没有 JavaFX
卡壳了
1
xuweifeng1987 2022-01-24 16:16:14 +08:00
环境的问题吧,jdk8 和 11 都支持,但是 11 是模块化的,需要单独安装 javafx 。
而且为啥要用 exe4j 打包。。。maven 指定好平台,直接就能输出 exe ( jdk11 支持模块化之后,整个 app 小了 70%) 建议先不要梭哈上手操作,先过下 javafx 官方文档。 实在不高兴看文档,那就 github 上直接 fork 一个脚手架也行~ ;) |
2
luckyrayyy 2022-01-24 16:32:07 +08:00
OpenJDK11 把 JavaFX 单独拆出来了。JavaFX 打包一般不用 exe4j ,可以用 jpackage 。但是有点比较蛋疼,jpackege 从 11 里移除了,14 里面又加回来了。JavaFX 用的人少,学起来确实比较麻烦...
|
3
muhuan 2022-01-24 16:52:43 +08:00 via iPhone
自己前一段也经历了,最后使用 jpackage ,包了一个 springboot 的工程,可以 gitlab 上找一个 demo ;一次配置,后面就容易多了
|
4
muhuan 2022-01-24 16:53:50 +08:00 via iPhone
|
5
goodspb OP @xuweifeng1987 #1 果然这个世界并没有什么一蹴而就的东西啊
|
6
hqweay 2022-01-24 21:45:02 +08:00
巧了兄弟,我之前也是打包才发现 jdk11 有点麻烦……我选择打 jar 包,把 jar 包和 jdk 放一个文件夹,建了个 `run.bat`,给别人用就打包一起发出去。XD
|
8
90xchun 2022-01-25 11:23:40 +08:00 via Android
巧了兄弟,我也遇到过,不过我用的 java9 提供的模块打包(jlink),打包过 javafx, 但是感觉用 javafx 套 web 页面太卡,就放弃了,就打 java.base 和 gson 和几个必要 java 自带模块,压缩为 zip 后,才不到 18m. 感觉太香了。
|
9
nothings 2022-12-15 15:35:59 +08:00 1
巧了兄弟,我也遇到过, 我直接降级,适配版本解决办法:`IDEA 2021.1` + `JDK8u60`
|