转 Java jar (SpringBoot Jar)转为win可执行的exe程序

原文链接:http://voidm.com/2018/12/29/java-jar-transform-exe/
打包Jar工程

将java项目打包成jar工程,可以是文章以SpringBoot为例
pom文件下的packaging改为jar, 之后执行package打包获得项目jar文件

    <groupId>com.voidm</groupId>
    <artifactId>maven-spring-boot</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

$: mvn package

测试Jar

打包完毕后,执行java -jar springboot-demo.jar.jar,启动测试该项目

浏览器访问http://127.0.0.1:8080/web 测试

页面响应成功, jar工程是没有问题的,执行下一步,打包成exe


打包成exe

打开exe4j软件,点击Next按钮,配置相关参数

随便写一个name,并选择exe生成路径, 这块要注意在该路径下将jre Copy到该目录下,如下图(必须)

如果不是GUI的,这块选择Console,控制台输出
这里 如果运行系统64位 请打钩, 否则取消勾选

这里先选择要打包的jar,下方选择Main方法入口
如果是SpringBoot项目,请选择JarLauncher这个Main,否则启动会报错 !
选择JDK版本号,这里我的运行环境为1.8,之后点击Advanced Options 选择Search Sequence

选择之前copy的jre文件夹名 ,注意Directory后面文件夹是相对路径,直接输入文件夹名即可
之后一直Next,知道打包完毕,exe4j has finishied!

打包成功后的目录结构

测试exe

测试之前,先把之前的测试jar进程关闭, 以免端口冲突

双击springboot-demo.exe运行,

浏览器再次访问http://127.0.0.1:8080/web 测试

测试成功, 此时以及成功一半了!!
特意挑了一台没有java环境的电脑运行, 
注意看下方的运行动态链接库,执行的Java Library为我们copy的Jre路径.

但是此时还有一个问题 , 整个文件夹180MB,太大,下一步压缩封装jre

封装jre环境

最好一部是将exe跟jre打包,让程序 可以在没有java运行环境下运行

打开InnoSetup,新建

随便填

上面浏览选择exe4j生成的exe文件, 下面添加文件夹选择之前out目录(该文件夹包含jre)
配置新的输出文件夹,其他配置按默认来,然后一直下一步,直到打包完毕

打包完毕
此时安装包仅为60MB,这个包可以发给没有java运行环境的人,直接安装后就可以运行了
安装后的目录结构

posted @   托马斯布莱克  阅读(1675)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2017-05-14 Eureka简介
点击右上角即可分享
微信分享提示