通过IDEA将Javafx (14后版本) 项目打包成.jar文件并生成exe丨踩坑速记
Posted 浪子尘晨
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过IDEA将Javafx (14后版本) 项目打包成.jar文件并生成exe丨踩坑速记相关的知识,希望对你有一定的参考价值。
打包到能运行
先编写main方法
原来的application不能直接打包,对于PageApplication
,要编写如下额外的main方法
package net.fygk.main;
import com.sf.javafxtest.HelloApplication;
public class MainClass
public static void main(String[] args)
HelloApplication.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( GitHub - libgdx/packr: Packages your JAR, assets and a JVM for distribution on Windows, Linux and Mac OS X) ,这里下载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"
JSON 复制 全屏
在当前页面打开cmd
,输入 java -jar packr-all-4.0.0.jar demo1.json
,其中packr-all-4.0.0.jar
和 demo1.json
都替换成你自己的值
在生成的文件夹内双击.exe文件,搞定!
以上是关于通过IDEA将Javafx (14后版本) 项目打包成.jar文件并生成exe丨踩坑速记的主要内容,如果未能解决你的问题,请参考以下文章
如何在 IntelliJ IDEA 中创建 JavaFX 模块
idea springboot项目打jar包部署成功,却无法访问
JavaFX 不存在使用 Java 9 和 Intellij Idea