Bootstrap

idea将Java项目打包Jar包,并生成exe可执行文件,并在无环境的电脑上运行

idea将Java项目打包Jar包,并生成exe可执行文件,并在无环境的电脑上运行

第一步:

创建JavaFX项目

  • Java 8:
    因为JDK8中集成了JavaFX,所以在JDK8环境下创建JavaFX程序很简单。只需像创建普通Java项目一样创建项目,在代码中导入JavaFX相关包即可编写并直接运行即可运行JavaFX程序。
  • Java 8+:
    在JDK8后的JDK版本不再集成JavaFX,我们需要自己向项目中引入JavaFX,所以创建JavaFX项目会复杂一些。

我们此处采用创建Maven或Gradle项目并引入依赖的办法来引入JavaFX。如果不使用Maven,也可以在Project Structure中通过给项目添加依赖的方式,来使用和运行JavaFX程序。但是此种方式不利于管理项目,在后续打包过程中也会遇到许多困难与问题,所以不推荐。

此处以Maven为例:

  • 第一步:创建Maven项目
    在这里插入图片描述
  • 第二步:在pom.xml文件中添加如下代码,导入依赖。
<dependencies>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-controls</artifactId>
        <version>19.0.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.openjfx</groupId>
        <artifactId>javafx-fxml</artifactId>
        <version>19.0.2.1</version>
    </dependency>
</dependencies>
  • 第三步:在pom.xml文件中添加如下代码,导入插件。
<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.10.1</version>
            <configuration>
                <source>19</source>
                <target>19</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-maven-plugin</artifactId>
            <version>0.0.8</version>
            <executions>
                <execution>
                    <!-- Default configuration for running with: mvn clean javafx:run -->
                    <id>default-cli</id>
                    <configuration>
                        <mainClass>这里填你的主类名称</mainClass>
                        <launcher>app</launcher>
                        <jlinkZipName>app</jlinkZipName>
                        <jlinkImageName>app</jlinkImageName>
                        <noManPages>true</noManPages>
                        <stripDebug>true</stripDebug>
                        <noHeaderFiles>true</noHeaderFiles>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

添加插件之后,可以看到右边的maven侧栏多出了选项。
在这里插入图片描述
此时我们创建一个入口类
在这里插入图片描述
并将javafx-maven-plugin中的主类设置成该入口类。

设置完毕后,点击maven侧栏中plugin项下的javafx:run即可运行项目。

另外,高版本的idea支持一键创建maven包裹的JavaFX项目。
在这里插入图片描述

构建JavaFX项目为可执行的jar程序

Java 8:

  • 第一步:打开Project Structure设置界面,点击Artifacts。
    在这里插入图片描述

  • 第二步:然后继续添加modle,如下。
    在这里插入图片描述

  • 第三步:配置好后,出来,点击build->build Atfacts,如下:
    在这里插入图片描述
    在这里插入图片描述

  • 生成的jar在项目out文件夹中,直接copy到桌面,如下图:
    在这里插入图片描述

另外,为了满足在没有java运行环境的电脑上运行,需要把jdk下的jre文件夹也copy过来。下面我们就开始生成exe可执行文件

第二步

打包JavaFX项目为exe

这里使用的是exe4j工具,操作如下:

  • 下载安装exe4j
    在这里插入图片描述
    安装成功之后直接运行。

  • 打开
    在这里插入图片描述

  • 点击Project type ,选择 “JAR in EXE” mode , 点击 next
    在这里插入图片描述

  • 填写应用名称和exe文件的生成目录位置
    在这里插入图片描述

  • 给生成的exe可执行文件取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single…”。
    在这里插入图片描述

这个地方会出现一个报错
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yX5fBD4e-1596264050446)(https://upload-images.jianshu.io/upload_images/20470201-ce7570754e270a66?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)]

  • 设置方法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 点击next,到如下界面,点击绿色“+”,设置程序运行的Class Path
    在这里插入图片描述
    选择打包好的jar包
    在这里插入图片描述

选择主程序
在这里插入图片描述

  • 点击next,然后出现下面界面。输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去
    在这里插入图片描述
    绑定jre
    在这里插入图片描述
    在这里插入图片描述

  • 点击next,出现一下界面。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

到这里,一个exe就完成了,虽然可以执行,但是每次给其他人的时候,我们都只能copy整个文件夹给别人,所以,把文件夹打包成安装程序,直接让别人安装就可以了,这里用Inno setup工具就可以了

首先,先删除文件夹中的jar
在这里插入图片描述
然后,就可以开始了

点击文件->新建->下一步

在这里插入图片描述
然后输入应用相关信息
在这里插入图片描述
然后设置安装地址
在这里插入图片描述
现在需要打包的exe文件,在添加需要打包的所有文件

在这里插入图片描述
然后一直下一步
在这里插入图片描述
现在输出编译文件输出地址,一会儿要执行这个文件,然后是安装文件名称,最后是安装文件图标
在这里插入图片描述
然后一直下一步就可以了
在这里插入图片描述
最后会执行编译文件进行打包,生成安装文件

在这里插入图片描述
在这里插入图片描述
这样我们就完成了java程序的打包工作,你只需要把安装文件发给其他人运行就可以了

;