V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
goodspb
V2EX  ›  Java

搞个 JavaFX 折腾死我了

  •  1
     
  •   goodspb · 2022-01-24 16:01:19 +08:00 · 3769 次点击
    这是一个创建于 794 天前的主题,其中的信息可能已经有所发展或是发生改变。

    搞个 JavaFX 折腾死我了,一天都没打包出来

    首先, IDEA 创建 JavaFX 项目的时候最低只支持 JDK11

    但是,创建 Artifacts 的 JavaFX 应用 时候不支持 11 ,只能是 8 ,好吧。那我就只生成 Jar

    生成了 Jar ,然后用 exe4j 打包一下 exe ,自己复制一下 OpenJDK11 到 jre 目录,然后发现 OpenJDK11 没有 JavaFX

    卡壳了

    第 1 条附言  ·  2022-01-24 16:44:39 +08:00
    哈哈哈哈,其实我只是想做个小的 GUI 小工具。写代码个界面不到 20 分钟,就是打包了搞半天,感谢 1 楼的老哥
    第 2 条附言  ·  2022-01-25 10:55:20 +08:00
    回馈一下

    找到了基于 JDK15/17 的 FX 模板: https://github.com/JavaFX-Starter/JavaFX-Package-Sample/tree/master

    找到了基于 11 的教程: https://zhuanlan.zhihu.com/p/145206637
    第 3 条附言  ·  2022-01-25 16:08:07 +08:00
    最后发现,是能打包了,用了 jpacket ,换到 15 的 JDK ,但是别人 win10 的电脑直接就 jre 崩了
    9 条回复    2022-12-15 15:35:59 +08:00
    xuweifeng1987
        1
    xuweifeng1987  
       2022-01-24 16:16:14 +08:00
    环境的问题吧,jdk8 和 11 都支持,但是 11 是模块化的,需要单独安装 javafx 。

    而且为啥要用 exe4j 打包。。。maven 指定好平台,直接就能输出 exe ( jdk11 支持模块化之后,整个 app 小了 70%)

    建议先不要梭哈上手操作,先过下 javafx 官方文档。

    实在不高兴看文档,那就 github 上直接 fork 一个脚手架也行~

    ;)
    luckyrayyy
        2
    luckyrayyy  
       2022-01-24 16:32:07 +08:00
    OpenJDK11 把 JavaFX 单独拆出来了。JavaFX 打包一般不用 exe4j ,可以用 jpackage 。但是有点比较蛋疼,jpackege 从 11 里移除了,14 里面又加回来了。JavaFX 用的人少,学起来确实比较麻烦...
    muhuan
        3
    muhuan  
       2022-01-24 16:52:43 +08:00 via iPhone
    自己前一段也经历了,最后使用 jpackage ,包了一个 springboot 的工程,可以 gitlab 上找一个 demo ;一次配置,后面就容易多了
    muhuan
        4
    muhuan  
       2022-01-24 16:53:50 +08:00 via iPhone
    goodspb
        5
    goodspb  
    OP
       2022-01-24 17:01:41 +08:00
    @xuweifeng1987 #1 果然这个世界并没有什么一蹴而就的东西啊
    hqweay
        6
    hqweay  
       2022-01-24 21:45:02 +08:00
    巧了兄弟,我之前也是打包才发现 jdk11 有点麻烦……我选择打 jar 包,把 jar 包和 jdk 放一个文件夹,建了个 `run.bat`,给别人用就打包一起发出去。XD
    qrobot
        7
    qrobot  
       2022-01-25 11:08:32 +08:00
    @goodspb gtk-rs 解君愁
    90xchun
        8
    90xchun  
       2022-01-25 11:23:40 +08:00 via Android
    巧了兄弟,我也遇到过,不过我用的 java9 提供的模块打包(jlink),打包过 javafx, 但是感觉用 javafx 套 web 页面太卡,就放弃了,就打 java.base 和 gson 和几个必要 java 自带模块,压缩为 zip 后,才不到 18m. 感觉太香了。
    nothings
        9
    nothings  
       2022-12-15 15:35:59 +08:00   ❤️ 1
    巧了兄弟,我也遇到过, 我直接降级,适配版本解决办法:`IDEA 2021.1` + `JDK8u60`
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3310 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 13:20 · PVG 21:20 · LAX 06:20 · JFK 09:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.