ko1haha
V2EX  ›  Java

Java 转 native 究竟行不行?无需精通 graalvm native-image 配置就能打包 native exe 方法分享。

  •  
  •   ko1haha · Aug 17 · 2040 views
    This topic created in 44 days ago, the information mentioned may be changed or developed.

    编译了一天一夜!

    总算把我的老 javafx 项目编译成正宗的 exe 了。

    花费这么长时间,也有我设备的问题。

    8G 上网本(主力机跑别的),空闲内存只有一半。

    配置点虚拟内存、换成 opencode web 版本,腾出点内存,继续搞。

    没错,agent 时代,谁还一个人苦哈哈地编译啊。

    当然是让人工智能给我打工。

    方法就是:先准备一份可以运行的 java 版本,让 opencode 调用 java.exe 启动主类。

    然后,让它把十几个 jar 用 native-image 编译成 exe ,成功后 opencode 自动调起并分析错误,不断迭代。

    这很厉害,我都不知道哪里去找 log, 手动把 exe 拖进 cmd 也没有日志。

    终于,javafx 的窗口跑出来了,里面 webview (webkit) 能显示,但一操作就闪退崩溃。

    紧接着发现,opencode 竟然在分析汇编指令……

    继续,自动迭代……

    编译一次半小时,必须交给没有感情的机器人!

    继续跑了一两个小时,终于修好了,操作 webview 内容不再崩溃(但是内存浮动明显,比 java8 还糙,简单操作竟然在 300mb-900mb 间浮动!)。

    仍有很多功能缺失:打不开系统的文件选择器( awt/jna 又出问题?)、没有正确启动 web 服务(开着纯血 java 版陪跑!)。

    还是得放弃 javafx 了,没啥优势。

    如果舍不得生态的话,就做成 web 服务。

    明天再试,机器太烫了。

    10 replies  •  2026-08-31 10:07:47 +08:00
    jlkm2010
        1
    jlkm2010  
       Aug 18   ❤️ 2
    Java 不要折腾转 native ,这不是 java 擅长的领域
    wenhuibrave
        2
    wenhuibrave  
       Aug 18
    Java 搞 native ,限制太多了,给自己上难度啊
    Oktfolio
        3
    Oktfolio  
       Aug 18
    没必要,直接叫 AI 重写吧
    yidinghe
        4
    yidinghe  
    PRO
       Aug 18 via Android
    如今各种 webview 套壳的框架,吃内存比 Java 多多了。
    msg7086
        5
    msg7086  
       Aug 18
    个人看法,native 适合新项目,各种组件都适配好了可以无痛上的那种。老项目包袱大,上起来不划算。
    cheng6563
        6
    cheng6563  
       Aug 18
    你要不算算你编译花了多久。
    wuhunyu
        7
    wuhunyu  
       Aug 18
    要不然咱就换一种语言, 用 go 吧
    skwyl
        8
    skwyl  
       Aug 18
    换吧,我的 agent 都从 java 转 go 了,java 不适合做这种桌面端的东西,也不适合搞小工具
    j1132888093
        9
    j1132888093  
       Aug 18
    我们迁了一大半服务了,就是打包慢了点,目前 32C32G 打包,启动从分钟级到秒级了
    Navee
        10
    Navee  
       Aug 31
    native 只是启动快了,内存占用还不如上[OpenJ9]( https://developer.ibm.com/components/open-j9/)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2427 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 41ms · UTC 07:27 · PVG 15:27 · LAX 00:27 · JFK 03:27
    ♥ Do have faith in what you're doing.