将Java应用做成exe可执行软件的流程步骤

 更新时间:2025年04月30日 11:10:20   作者:多加点辣也没关系  
这篇文章主要介绍了如何将Java程序打包成可执行的exe文件,通过配置Maven、编写批处理文件、使用Bat_To_Exe_Converter工具将批处理文件转换为exe文件,实现双击启动的效果,感兴趣的小伙伴跟着小编一起来看看吧

前言

最近使用 GUI 帮朋友写了一个软件,为了方便他处理工作上的重复性且很麻烦的事情,程序是使用 Java 写的,就不得不面对一个问题:我必须将这个程序打包成一个可执行的软件给到他,总不能让他下载个 IDEA 启动或者去通过 java -jar 这种命令去启动的吧,以下内容就是关于如何将 java 程序做成一个可执行软件的想法与实现

一、情景介绍

先简单的介绍以下这个项目,主要用到的技术就是 GUI,一项很古老的技术,现在应该没有多少人会去用这些技术,我选择这个技术的主要原因就是不用去写那么多的前端代码,上手快,然后没有使用到数据库(我不能要求我朋友去装一个数据库吧),数据全部存在 excel 文件中,使用 easyExcel 去读取数据,poi 去写数据,接着就是使用 Maven 去管理我所有的依赖包,这就是这个程序所用到的全部技术了。

在这里插入图片描述

IDEA 中我可以直接去启动这个程序,如果不使用这些编程软件去启动这个程序,我也可以通过命令行去启动,所有我先考虑将程序打成 Jar 包,然后写一个 bat 脚本通过 java -jar 的方式启动这个 Jar 包,再通过 Bat_To_Exe_Converter 将这个 bat 程序转成 exe 的可执行软件即可。

在这里插入图片描述

bin 目录下就是这个程序的 jar 包,database 是程序相关的数据库(excel 表格),icon 是图标,temp 是程序产生的临时文件存放目录

这样就能实现双击 DJL.exe 打开我的程序,也可以创建一个快捷方式放在桌面上启动

在这里插入图片描述

二、实现步骤

1. 打 Jar 包

首先我需要将这个程序打成 Jar 包,在打包前需要在 mavenpom 文件中配置项目的启动入口以及将项目所有依赖都打到一个 Jar 包中,配置如下:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.mike.gui.Start</mainClass> <!-- 替换为你的主类 -->
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

然后通过 Maveninstall 生成 Jar

在这里插入图片描述

找一个文件夹存放该 Jar 包,命名文件夹名称为 bin

在这里插入图片描述

2. 编写 bat 批处理文件

创建一个 run.txt 文件,编写以下命令通过 java -jar 命令启动你的 jar 程序

@echo off
title YOUR-APP-NAME
java -jar bin/DJL-GUI-1.0-SNAPSHOT.jar
pause

然后修改 run.txtrun.bat

在这里插入图片描述

这个时候通过双击 run.bat 批处理文件我们也能直接启动该程序

在这里插入图片描述

但是启动文件之后会弹出一个资源管理器的窗口,我不希望它出现,所以就需要将 bat 文件转换成 exe 文件

3. bat 转 exe

我们可以通过 Bat_To_Exe_Converter.exe 软件将 bat 文件 转换成 exe

软件可在官方网址:https://www.f2ko.de/en/applications/bat-to-exe-converter/ 上获取

打开软件,Open 选择上一步编写的 run.bat 文件

在这里插入图片描述

你可以选择软件的图标,不过这个图标的格式要求是 ico 的文件,可以通过 https://www.bitbug.net/ 在线制作 ico 图标

在这里插入图片描述

再点击 Convert 选择存放 exe 文件的路径和名称,即可进行转换

在这里插入图片描述

如下所示:

在这里插入图片描述

这样的话我只要将该可执行文件所在的目录压缩发给别人,别人就能通过双击该 exe 文件来启动我的程序了,但是还有一个问题就是我并没有将 JDK 也放进这个 exe 文件中,所以还得配置 Java 环境 ,后续需要的话再优化一下

以上便是将 Java 应用一步步变成 exe 可执行文件的全过程

以上就是将Java应用做成exe可执行软件的流程步骤的详细内容,更多关于Java应用做成exe可执行软件的资料请关注脚本之家其它相关文章!

相关文章

  • eclipse maven 插件的安装和配置详解

    eclipse maven 插件的安装和配置详解

    这篇文章主要介绍了eclipse maven 插件的安装和配置详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • java中hashCode、equals的使用方法教程

    java中hashCode、equals的使用方法教程

    hashCode()和equals()定义在Object类中,这个类是所有java类的基类,所以所有的java类都继承这两个方法。下面这篇文章主要给大家介绍了关于java中hashCode、equals的使用方法,需要的朋友可以参考下。
    2017-12-12
  • Springboot Activemq整合过程代码图解

    Springboot Activemq整合过程代码图解

    这篇文章主要介绍了Springboot Activemq整合过程代码图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • 使用Java生成jpg与压缩图片为jpg文件的代码示例

    使用Java生成jpg与压缩图片为jpg文件的代码示例

    这篇文章主要介绍了使用Java生成jpg与压缩图片为jpg文件的代码示例,都是对com.sun.image.codec.jpeg这个包的应用,需要的朋友可以参考下
    2015-11-11
  • Spring boot整合security详解

    Spring boot整合security详解

    Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架,本文主要介绍了SpringBoot整合Security安全框架的方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-07-07
  • 跟我学Java Swing之游戏设计(1)

    跟我学Java Swing之游戏设计(1)

    跟我学Java Swing之游戏设计(1)...
    2006-12-12
  • 举例讲解Java中的多线程编程

    举例讲解Java中的多线程编程

    这篇文章主要介绍了举例讲解Java中的多线程编程,线程是Java学习中的重要知识,需要的朋友可以参考下
    2015-09-09
  • springboot接口参数校验JSR303的实现

    springboot接口参数校验JSR303的实现

    本文主要介绍了springboot接口参数校验JSR303的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • 如何将应用的log4j替换成logback详解

    如何将应用的log4j替换成logback详解

    无论从设计上还是实现上,Logback相对log4j而言有了相对多的改进。所以下面这篇文章主要给大家介绍了关于如何将应用的log4j换成logback的相关资料,文中介绍的很详细,需要的朋友可以参考下。
    2017-02-02
  • Java中的HashSet集合解析

    Java中的HashSet集合解析

    这篇文章主要介绍了Java中的HashSet集合解析,HashSet 实现 Set 接口,内部维护一个 HashMap 实例,它不能保证集合迭代的顺序,也不能保证顺序不变,HashSet 允许 null 元素,需要的朋友可以参考下
    2023-11-11

最新评论