通过IDEA将Javafx (14后版本) 项目打包成.jar文件并生成exe丨踩坑速记

【531吐槽】地球上怎么会有两个人在一天内写完全一样的内容连主题和网站都一样啊,为什么他没有早发我没有早看到啊,崩溃了(这个blog

试了一晚上,最后这个方式结合 参考1 + 参考2,我看的所有油管博主都没出现默认路径的问题不知道为什么

打包到能运行

先编写main方法

原来的application不能直接打包,对于PageApplication,要编写如下额外的main方法

public class APP {
    public static void main(String[] args) {
        PageApplication.main(args);
    }
}

开打

右上角设置 → project structure → artifact → add - JAR - From module with dependencies

接下来进入下图界面,点击浏览,找到刚刚边写的APP Class, 注意最下面那个目录一定要改成根目录,不然会导致之后双击.jar无法运行

构建项目和工件,第一阶段完成

运行后发现文件路径要改

这个思路倒是简单,但是我们原来全都是src/demo/... 这种形式的,移到根目录再弄就方便多了

打包为 exe

参考 了一点,他似乎确凿写漏了蛮多东西

毕竟 jar 要 java 环境,如果能 exe 的话还是最好不过了

先根据自己的情况下载 openjre(现在叫 Adoptium 似乎),当然你也可以下载jdk,我的理解是一个是生产环境一个是开发环境,jre要小很多比较适合我,清华镜像站

这里使用 packr( https://github.com/libgdx/packr) ,这里下载packr-all-4.0.0.jar

完事把这几个东西放同一个目录下,编写 json 文件,文件名和你想要的 exe 文件的命名一样

json 内字段如下,注意:

  • jdk 需要修改成你下载的 zip 的文件名
  • executable 的值和 json 文件名一样都设为你想要的最终 exe 的文件名
  • mainclass 设为之前设置的、程序入口类的名字,注意保留包
{

    "platform": "windows64",

    "jdk": "./OpenJDK18U-jdk_x64_windows_hotspot_18.0.1_10.zip",

    "executable": "demo1",

    "classpath": [

        "demo1.jar"

    ],

    "mainclass": "com.example.demo1.APP",

    "vmargs": [

       "Xms32m","Xmx512m"

    ],

    "minimizejre": "soft",

    "output": "out-windows64"

}

在当前页面打开cmd ,输入 java -jar packr-all-4.0.0.jar demo1.json,其中packr-all-4.0.0.jardemo1.json 都替换成你自己的值

在生成的文件夹内双击.exe文件,搞定!

posted @ 2022-05-28 01:02  有氧  阅读(884)  评论(0编辑  收藏  举报