如何将 Java 应用做成 EXE 的可执行软件
目录
- 前言
- 一、情景介绍
- 二、实现步骤
- 1. 打 Jar 包
- 2. 编写 bat 批处理文件
- 3. bat 转 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
包,在打包前需要在 maven
的 pom
文件中配置项目的启动入口以及将项目所有依赖都打到一个 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>
然后通过 Maven
的 install
生成 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.txt
为 run.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
可执行文件的全过程