一、前言
前几天一个朋友找我,说有一个数据接口开发能够页面展示的小项目,能够在本地运行就行,不需要放到网上,问我这边可不可以做,本来想婉言谢绝的,但是听到说,可以给点辛苦费,于是想到了李白大诗人说的一句:人生贵相知,何用金与钱。
朋友吗,不就是互相帮助吗?这个功能可以做的,我来我来,可以完成的,钱不钱的无所谓,主要是想为朋友做点事,咳咳咳~,言归正传,我那个朋友呢,他不是一个开发者,所以项目做好后,让他安装JDK、tomcat
,根本就是不现实的啊,于是摸索了一阵之后,想到idea将web项目 打包成jar
一样使用, 然后再用exe4j将jar打包成 exe文件
, 说干就干。
二、开发环境
开发工具:IntelliJ IDEA
Jdk版本:1.8
项目框架:spring boot 2.2.1.RELEASE
exe4j工具:5.1
项目类型:Java Web 项目
三、项目打包
3.1 项目目录结构
这个就是正常的 spring boot 下正常的 jar 项目,我们创建的时候正常操作就行,下面就是我将这个项目做完之后的目录结构,大家可以参考一下。
3.2 打包生成jar
一、找到 idea工具中右边工具栏中的 maven 按钮
二、生成项目可执行 jar
操作步骤:
clean:清理,在进行真正的构建之前进行一些清理工作,移除所有上一次构建生成的文件。执行该命令会删除项目路径下的target
文件,但是不会删除本地的 maven 仓库已经生成的 jar 文件。install:安装至本地仓库,将包安装至本地仓库,让其它项目进行依赖。会在项目路径下生成class文件和jar包
,同时会在本地maven仓库
生成 jar文件,让其他项目也可以使用package:项目打包,将工程文件打包为指定的格式,例如Jar,War等
。这个命令会在你的项目路径下一个target目录
,并且拥有compile命令
的功能进行编译,同时会在target目录
下生成项目的jar/war文件
,其中的jar
就是我们需要的东西。
其他命令(因为本文只是使用上面三个,这是几个带过一下):
validate:验证,验证工程是否正确,所需的信息是否完整。
compile:编译源码,编译生成class文件,编译命令,只编译选定的目标,不管之前是否已经编译过,会在你的项目路径下生成一个target目录,在该目录中包含一个classes文件夹,里面全是生成的class文件及字节码文件。
test:单元测试
verify:核实,检查package是否有效、符合标准。
site:站点,生成项目的站点文档
deploy:复制到远程仓库
三、获取可执行 jar
生成成功之后,我们就可以在target目录下看到我们需要的jar文件
四、复制这个jar文件,放到统一的一个文件夹下
四、工具准备
有一点需要说明的是,使用 idea 生成的 jar文件,会将 依赖jar文件和配置文件
都打进项目jar中,因此我们不需要单独在添加依赖jar或配置文件,这一点很重要。
一、需要生成的 jar 文件
二、转换工具:EXE4J
关注公众号【牧小农】,后台回复 “exe4j” 即可获取下载地址
三、JDK中jre文件
四、完整文件展示
只需要我们项目的jar和 jdk中的jre文件就可以了
如果你需要自定义图标,可以自行放入一个ico 的文件
重点:所有的文件都放在一起,我们是需要打包给别人的,jre1.8.0_101和项目jar也要一起发给别人!!!!!
五、使用exe4j进行转换
下载安装完成后,界面如图,第一步完成注册,
Name和Company:随便填就是了
注册码:A-XVK258563F-1p4lv7mg7sav (网上很多,随便搜一个就行)
完成后点击Next
5.1 勾选JAR in EXE
表示将 jar 打包成 exe 程序,然后下一步
5.2 填写打包后的 exe程序名称和保存路径
5.3 填写exe 文件名和图标信息
5.4 选择操作系统,如果是64位操作系统,一定要勾选 64位系统的选择框
5.5 添加 要运行的jar路径
注意:因为idea 在导出springboot 项目 jar的时候会自动把我们需要的jar和配置文件导出,这里不需要我们在添加其他依赖包和配置文件
注意:在spring boot中我们需要添加的是org.springframework.boot.loader.JarLauncher
,而不是我们每次运行的WebApplication
5.6 填写支持运行的jdk版,这里用的是1.8
5.7 连带打包 jre
5.8 一直Next下一步,直到完成即可
5.9 生成exe程序文件
我们就会发现在我们包里面多了一个exe文件,我们点击运行。
如果有报错信息,在这个文件下会有一个error的日志文件,可以查看日志内容
注意:文件要放在一起,不能分开!!!
5.10 效果展示,这个在没有java环境下也是可以使用的,已经经过我朋友验证过了
六、关闭应用
我们打开这个应有后,如果需要关闭这个应用,该怎么操作呢?别担心,都给你准备好了,我们只需要写一个很简单的脚本就行了。
脚本命令:
@taskkill /f /IM textWeb.exe
textWeb.exe 是我自己的应用程序的名字,改成自己的就可以
6.1 新建一个 关闭程序的txt文件
6.2 将命令复制到txt文件中
@taskkill /f /IM textWeb.exe
6.3 将文件后缀改成 .bat
6.4 再访问我们的应用,无法访问
7 完成
我们只需要将这个文件夹下的文件打包压缩,发送给需要使用的人就可以了。就算对方没有java环境也是可以运行起来的。
在操作中大家如果觉得有改进或者疑问的地方,欢迎大家在下面进行留言,博主看到了会第一时间回复大家,我是牧小农,我喂自己带盐,学习路上你我同行,大家加油!
如果觉得《idea java web项目导出为jar打包成可运行exe程序》对你有帮助,请点赞、收藏,并留下你的观点哦!