如何在IDEA中将JavaFX项目打包EXE文件


### 文章目录

  • [@TOC(文章目录)](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [一、准备项目](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [1. 必备工具与软件](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [JavaFX SDK 11.0.2](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [‌Launch4j‌](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [openjdk-24.0.2+12-54](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [生成的jar包](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [2. pom.xml配置](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [二、手动转换](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [1、转换前配置](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [launch4j配置](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [2、将jar转换成exe](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)
  • [三、测试](#文章目录 @TOC 一、准备项目 1. 必备工具与软件 JavaFX SDK 11.0.2 ‌Launch4j‌ openjdk-24.0.2+12-54 生成的jar包 2. pom.xml配置 二、手动转换 1、转换前配置 launch4j配置 2、将jar转换成exe 三、测试)

一、准备项目

1. 必备工具与软件

JavaFX SDK 11.0.2

  • 11.0.2 是一个具体的版本,你当然可以使用其它的版本,但要注意与其它组件的兼容性。JavaFX SDK 11.0.2是一个用于开发JavaFX应用程序的工具包,适用于Java 11及更高版本。是一个独立模块化组件,需要单独下载和配置才能使用。‌

  • 在 Windows 上,解压后直接访问 lib 目录即可使用库文件。如下图中为JavaFX SDK 11.0.2主目录下资源。

‌Launch4j‌

  • Launch4j‌是一个用于将 Java 应用程序打包成独立的 Windows 原生可执行文件(.exe)的开源工具,从而实现跨平台部署。

openjdk-24.0.2+12-54

  • ‌OpenJDK是Java平台的开源开发工具包‌,也是你的java项目运行环境。

生成的jar包

2. pom.xml配置

  • ‌pom.xml 是 Maven 项目的核心配置文件‌,采用 XML 格式定义项目元数据、依赖关系和构建规则,用于自动化 Java项目的构建、依赖管理和打包。‌‌
    不同的项目,pom.xml是不同的,这里只是本文测试项目所用的pom.xml,供参考。


    4.0.0
    lotteryfx
    Lottery
    1.0
    Lottery

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <junit.version>5.10.2</junit.version>

    复制代码
    <dependencies>
      <dependency>
        <groupId>javax.activation</groupId>
        <artifactId>activation</artifactId>
        <version>1.1.1</version>
      </dependency>
      <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>17.0.6</version>
      </dependency>
      <dependency>
        <groupId>org.controlsfx</groupId>
        <artifactId>controlsfx</artifactId>
        <version>11.2.1</version>
      </dependency>
      <dependency>
        <groupId>com.dlsc.formsfx</groupId>
        <artifactId>formsfx-core</artifactId>
        <version>11.6.0</version>
        <exclusions>
          <exclusion>
            <groupId>org.openjfx</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>net.synedra</groupId>
        <artifactId>validatorfx</artifactId>
        <version>0.5.0</version>
        <exclusions>
          <exclusion>
            <groupId>org.openjfx</groupId>
            <artifactId>*</artifactId>
          </exclusion>
        </exclusions>
      </dependency>
      <dependency>
        <groupId>org.kordamp.ikonli</groupId>
        <artifactId>ikonli-javafx</artifactId>
        <version>12.3.1</version>
      </dependency>
      <dependency>
      <groupId>org.kordamp.bootstrapfx</groupId>
      <artifactId>bootstrapfx-core</artifactId>
      <version>0.4.0</version>
    </dependency>
      <dependency>
      <groupId>eu.hansolo</groupId>
      <artifactId>tilesfx</artifactId>
      <version>21.0.3</version>
      <exclusions>
        <exclusion>
          <groupId>org.openjfx</groupId>
          <artifactId>*</artifactId>
        </exclusion>
      </exclusions>
    </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-api</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.junit.jupiter</groupId>
        <artifactId>junit-jupiter-engine</artifactId>
        <version>${junit.version}</version>
        <scope>test</scope>
      </dependency>
      <dependency>
        <groupId>org.apache.logging.log4j</groupId>
        <artifactId>log4j-api</artifactId>
        <version>2.17.1</version>
      </dependency>
      <!-- SLF4J API -->
      <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.30</version>
      </dependency>
    </dependencies>
    
    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.13.0</version>
          <configuration>
            <source>24</source>
            <target>24</target>
          </configuration>
        </plugin>
      </plugins>
    </build>

二、手动转换

1、转换前配置

  • 当上述介绍的工具与软件准备齐全后,就可以进入转换环节了,首先是软件配置。

launch4j配置

打开launch4j目录,打开目录下的launch4j.exe文件。如下图。

  • 打开launch4j.exe后的几个关键配置步骤。
  • basic选项卡下的Output file中选择你要生成的exe文件名及路径。
  • basic选项卡下的jar中选择你的jar包。
  • basic选项卡下的Icon中选择你要生成的exe文件的显示图标,这里是可选项,不选择任何文件不会影响转换。
  • Header选项卡下的Header type中选择GUI项。

  • JRE选项卡下的JRE paths下填入你的openjdk主目录下的bin路径。 注意这里的"./"表示当前路径。

  • -JRE选项卡下的JVM options下填入如下内容。 注意这里的"."表示当前路径。javafx-sdk-11-0-2\根据你的时间路径与版本填写。

    module-path ".\javafx-sdk-11-0-2\lib" --add-modules javafx.controls,javafx.fxml

  • launch4j中的其它选项可选择默认

2、将jar转换成exe

上述配置完成后,点击下图中的图标。

弹出保存配置文件的图标,这个xml的配置文件保存后,下一次可直接打开使用,不需要在重新配置。

  • 点击保存后,launch4j会自动将jar包转换成exe文件,这时候,你的目标文件夹中,会生成一个新的exe文件

三、测试

  • 将新生成的exe文件同上述openjdk-24.0.2+12-54,JavaFX SDK 11.0.2放在同一个文件夹下,这是关键步骤
  • 这样,在没有安装java环境的系统中,你生成的exe就可以正常打开了,注意上一步不能省略。
相关推荐
wifi___3 小时前
全局异常处理的原理
java·开发语言
2601_963870207 小时前
【计算机毕业设计】基于Spring Boot的专科医院医疗管理系统
java·spring boot·课程设计
Bingo_BIG7 小时前
Java Spring 批量修改,实体、接口、方法的定义
java·spring
画中有画7 小时前
软件架构中质量属性(性能、安全、可扩展性)的权衡设计
java·运维·安全
Shaoxi Zhang8 小时前
JAVA学习笔记035——对象和JSON格式
java·笔记·学习
赵丙双8 小时前
CountDownLatch 源码分析
java·aqs·countdownlatch
余额瞒着我当琳8 小时前
C++--深拷贝三件套 + swap + 写时拷贝 + vector 扩容 + reserve
java·开发语言·c++
thefool1122668 小时前
翻转二叉树
java
喜欢打篮球的普通人9 小时前
LLVM Backend Lowering 从入门到实战:把 IR 变成机器码的完整链路
android·java·数据库
FL162386312910 小时前
室内易燃物识别易燃评估室内易燃程度识别分割数据集labelme格式1015张85类别
java·服务器·前端