IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等

本文详细介绍如何使用IDEA将JavaFX项目打包成exe文件,适用于Windows、Mac及Linux等多平台分发,并解决了Maven依赖问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IDEA将JavaFx打包为exe Win+Mac+Linux多平台分发等等

前面介绍到了用packr打包javafx17为exe多平台分发,比较复杂,这篇则介绍用idea直接打包exe,比较简单,但是需要注意的是Maven依赖的添加。

使用idea打包的exe会把整个jdk给打包进去,体积比较大,自己可以修改这个打包内容,从而做到减少体积。

一、准备一个javafx项目

这是我用jdk8+fastjson+okhttp+fontawesome+jfoenix+controlsfx开发的一个demo:
在这里插入图片描述
算是稍微有点复杂吧?

二、IDEA打包exe

idea中 File》Proiect Structure》Artfacts
添加javafx application
在这里插入图片描述
只需修改两处地方,即启动入口和本地包,Native bundle选择all,注意我用的是idea2020.3.4,若没有javafx这个选项,请考虑更换idea版本!!!
在这里插入图片描述
然后点构建:
在这里插入图片描述
在这里插入图片描述
这时你会发现它在out下生成了一个out\artifacts\jdownload\bundles\jdownload\jdownload.exe
在这里插入图片描述
运行它你会发现运行不了:
在这里插入图片描述

添加Maven依赖

这时因为缺少Maven依赖,打包时没有将maven依赖囊括进来,我们执行Maven命令来将所有Maven依赖导出,手动导入到这个exe的运行环境:
当然,如果你对java的运行环境有点熟悉,那么在打包的时候就能囊括进来,这里按最简单的方法演示

mvn dependency:copy-dependencies -DoutputDirectory=lib

在这里插入图片描述
在这里插入图片描述

将导出的依赖复制到:out\artifacts\jdownload\bundles\jdownload\runtime\lib\ext下面
在这里插入图片描述
再运行一次out\artifacts\jdownload\bundles\jdownload\jdownload.exe,,你就发现它起来了!
在这里插入图片描述
至此打包exe完成,哪些图标版本什么的可自行配置。

不难看出,idea它是将所有jdk都copy过去,我们可以下载一个官网的openjdk,将对应不需要的文件替换,从而达到减少内存体积。

创作不易,写文章也花长时间,你觉得对你有帮助请给我点个赞!一健三连…谢谢啦!

### 使用 IntelliJ IDEAJavaFX 程序打包EXE 文件 #### 准备工作 为了成功将 JavaFX 应用程序转换为 `.exe` 可执行文件,需先确保开发环境配置正确。这包括安装必要的工具和插件。 - **IDEA 配置**:确认已安装最新版本的 IntelliJ IDEA 和 JDK 版本兼容于所使用的 JavaFX SDK。 - **依赖管理**:对于 Maven 项目,在 `pom.xml` 中加入合适的插件来处理构建流程[^1]。 #### 构建 JAR 文件 通过 Artifacts 功能或命令行工具完成项目的编译与打包操作: - 在 IDE 内部设置 Artifact 输出路径以及指定 Main-Class 属性; - 利用 maven 插件如 javafx-maven-plugin 来简化此过程; ```xml <build> <plugins> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>${javafx.plugin.version}</version> <configuration> <!-- 配置项 --> </configuration> </plugin> </plugins> </build> ``` #### 创建 Native Image (可选) 如果追求更高效的启动性能,则可以考虑采用 GraalVM 提供的 native-image 工具来进行 AOT 编译[^2]: ```bash native-image --no-fallback -H:+ReportExceptionStackTraces \ -jar your-application.jar com.example.MainClass ``` #### 打包EXE 文件 最后一步是利用专门设计用于生成 Windows 平台上的原生应用程序封装器软件——例如 exe4j 或 Inno Setup ——将之前得到的 jar 包进一步转化为独立运行的应用程序[^3]。 - 下载并安装 exe4j; - 新建一个 Wrapper Configuration Project; - 设置好 JVM Options, Classpath Entries 等参数; - 添加资源文件(图标、图片等); - 完成后点击 Build All 即可在目标目录下找到最终产物 .exe 文件。 注意事项: 当加载 FXML 文档时应确保 URL 地址书写无误,推荐做法是从根目录开始定位资源位置以避免潜在问题的发生[^4].
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凌康ACG

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值