原文链接: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运行环境的人,直接安装后就可以运行了

安装后的目录结构

转载于:https://www.cnblogs.com/wangdaijun/p/10863346.html

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

  1. Java 在Windows上通过代码开启和关闭exe程序

    开启和关闭exe程序的代码 import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.FileUtil; import l ...

  2. SpringBoot Jar启动

    SpringBoot项目的启动 当我们在IDE中新建(或导入)了一个SpringBoot项目之后,我们如果想要启动这个SpringBoot项目,我们可以找到相应的带有@SpringBootApplic ...

  3. Linux系统安装Java和mysql并关联DBeaver,上传Springboot jar包,数据库如何防止黑客攻击

    Linux系统安装Java 安装版本jdk-8u171-linux-x64.tar.gz1,上传到linux的 root目录下 2,tar -zxvf jdk-8u171-linux-x64.tar. ...

  4. java 项目打包jar 的配置(springboot )

    在pom.xml  <build>标签下增加以下配置 <plugins><plugin><groupId>org.apache.maven.plugin ...

  5. Springboot jar包外置教程

    Springboot jar包外置教程     入职的第一个小任务是:使springboot项目的外部依赖jar包与项目本身打成的jar包分离.每次默认的把springboot项目打成可运行jar包, ...

  6. 无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件

    无需Java环境,Jar包一键启停(静默启停),开机自启,读取外部配置文件 前言 一.目录结构 1.根目录 2.bin 目录 3.conf 目录 4.target 目录 二.文件内容 1.startu ...

  7. 彻底透析SpringBoot jar可执行原理

    点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 作者:plz叫我红领巾 juejin.im/post/5d2d6812e51d45777b1a ...

  8. Linux下 SpringBoot jar项目后台运行、查看、停用

    运行java jar: nohup java -jar **-0.0.1-SNAPSHOT.jar & 查看进程: 采用top或者ps aux命令.一般 如果后台是springboot,jar ...

  9. springboot如何盈利_彻底透析SpringBoot jar可执行原理

    ​文章篇幅较长,但是包含了SpringBoot 可执行jar包从头到尾的原理,请读者耐心观看.同时文章是基于SpringBoot-2.1.3进行分析.涉及的知识点主要包括Maven的生命周期以及自定义 ...

最新文章

  1. MonoDevelop 1.0 和 Mono 1.9(2.0 beta)发布了
  2. C++知识点18——使用C++标准库(vector的增长与迭代器失效)
  3. html流动布局,自适应css布局——流动布局新时代
  4. 不知道读什么好?这 16 篇最新论文,帮你轻松积攒知识点
  5. 200908阶段一C++多态
  6. [转]Intellij idea创建javaWeb以及Servlet简单实现
  7. python substr函数_Sql SUBSTR函数
  8. java 自定义注解 生成json_用自定义注解实现fastjson序列化的扩展
  9. mysql 游标的简单_mysql 简单游标
  10. 李宁是怎么输给安踏的?
  11. QC在windows7远程执行QTP脚本无法读excel解决方案
  12. 不加群提取群成员_钉钉群机器人如何快速集成?无需API代码开发对接企业CRM,营销,表单,OA,客服和其他内部系统...
  13. Open Images Dataset Detection Labels(openimage 检测类别的中文翻译)
  14. 【转】物业管理与移动互联网科技|微信公众平台,物业app,物业O2O
  15. 计算机怎么求地址线,如何计算地址线和数据线
  16. k8s中Ingress安装
  17. 北京协和医学院823计算机原理,2017年北京协和医学院病原生物学研究所823计算机原理考研仿真模拟题...
  18. 怎么快速修改gif尺寸?仅需三步教你改gif大小
  19. 云计算技术 实验三 安装Hadoop系统并熟悉hadoop命令
  20. str.c_str()

热门文章

  1. 查看linux IO地址范围
  2. 计算机沟通方式,雅思阅读练习:计算机改变沟通方式
  3. 图像目标分割_6 Mask RCNN
  4. 【Pytorch神经网络实战案例】03 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-测试方法
  5. 数据结构之图:用图解决案例,Python代码实现——24
  6. JS高级——纯函数、柯里化(手写自动柯里化函数)、组合函数(手写自动组合函数)
  7. 二十、MySQL之用户权限管理(用户管理、权限管理、忘记root密码的解决方案)
  8. LeetCode 1615. 最大网络秩(出入度)
  9. 05.序列模型 W1.循环序列模型
  10. LeetCode 1455. 检查单词是否为句中其他单词的前缀