(超详细讲解)实现将idea的java程序打包成exe (新版,可以在没有java的电脑下运行,即可以发给好朋友一起玩)
目录
实现打包到exe大概步骤
工具准备
1.将java程序文件打包成jar文件
2.准备好jre文件
3.使用exe4j软件打包好
4.最终打包
实现打包到exe大概步骤
1.打包需要满足的条件:将java文件转成jar文件的工具exe4j、
以及需要满足jdk1.8以上(因安装exe4j软件需要1.8版本以上)
2.将java打包成jar文件
3.准备好jre文件
4.使用exe4j生成exe文件
工具准备
需要用到的工具或者教程放在下面,需要的自取
1.工具exe4j下载链接:ej-technologies - Java APM, Java Profiler, Java Installer Builder
exe4j版本应该都可以,我这里用的是6.0的。
ex4j的大概使用 教程:http://t.csdnimg.cn/js5di
注意:安装好exe4j后需要登录激活不然打包完成会报错,我卡在这里一段时间
登录激活教程:http://t.csdnimg.cn/js5di
2.jdk1.8下载以及安装这里都讲解的很详细可以好好看看: http://t.csdnimg.cn/a82XV
3.我这里用的是ide,如果是用eclipse的话参考这个文章:Eclipse导出jar项目文件用exe4j打包成可执行的.exe软件
下面开始讲解打包流程
我这里以打包一个拼图小游戏为例
1.将java程序文件打包成jar文件
打开要打包的程序
创建新项目
第一步
第二步,选择Maven,然后选择1.8的jkd,然后点next
命名自己取
第三步,去找到要打包的程序的src文件
不会找src的这样找
复制他所在的路径
然后在文件管理器这里搜,就可以找到了
找到src文件后,把src里面的内容复制好ctrl+c
然后回到Maven项目这里,将复制好的内容粘贴到java里面
点ok,然后点add
然后你运行一下看看能不能运行,不能运行说明程序有问题
第二种就是,如果有素材图片啥的,加载不出来,这个情况请继续往下看
如果有素材的程序,请看这步
因为我这个程序的素材是放在src同一文件里面,因此我把素材拷贝到Maven项目这里就可以了
拷贝素材
导入成功就这样
接下来就是转成jar文件
找到右上角的Maven然后打开
打开是这样的
如果没有test就给他屏蔽掉,然后导包出错
屏蔽完成就可以导包了
选中package后点绿色的启动按钮
成功是这样的
当然如果你忘了屏蔽或者其他原因可能有警告
解决办法就是先将target先给他删除,然后屏蔽一下test,再次打包看看还是不行评论区发一下大家一下看看啥原因。
导包完成,把jar文件放好,把jar文件复制到直接拖出来也行桌面,方便等下打包
导出jar文件效果,不然压缩软件图标不一样放心
2.准备好jre文件
jre文件就是相当于给新电脑配置了java运行的环境,所以到拷贝一份放到打包好的程序才能运行
所以jre是不可或缺的。
那么如何查询当前电脑安装的Java/JDK版本的方法(查看Java/JRE版本号)呢
方法如下
1.电脑键盘同时按住Windows+R按键,弹出运行程序,输入cmd并确定
2.在黑框控制台中输入 java -version,即可查看Java版本号
注意空格不可以省略
查找jre位置,jre的安装如果是上面的流程来一般是这个路径C:\Program Files\Java
其他安装默认一般也是,如果不是再找找,或者网上搜一下教程
找到jre文件同样将他复制一份到桌面这里方便打包
3.使用exe4j软件打包好
前面要做好这几个,下载并安装好exe4j,并且已经登录激活,如没有请爬楼回到工具准备那里做好。
那么开始打包
打开exe4j
第一步直接next
第二步
第三步
第一个文本框填打包名字,可以随便写
第二个是打包好要放的路径,这边统一放在桌面吧,方便打包
第四步
这里填的是最终打包好的exe命名,Icon File是设置图标的,如果想让exe有图标可以自己弄一个,
设置图标地方参考一下:在线制作ico图标 | 在线ico图标转换工具 方便制作favicon.ico - 比特虫 - Bitbug.net
我这里也设置一下
这里容易漏,如果是电脑是32位直接next,如果是64位点圈中的地方,进去勾选64
来到第五步
点绿色加号
然后这里的目录路径放的是刚刚打包好的Maven文件
然后选择运行的main函数相当于
我这里运行的类放了App类这里,所以这里选择App,一般只有一个实现类的
第六步
跟着填就行了
选中Search sequence
把这两个删除
然后点绿色加号
路径是填jre的路径,刚刚已经把jre复制到桌面了。
点ok然后next
最后一步
后面一直next
最终效果,next完然后桌面就有exe文件了
4.最终打包
跟着上面操作会得到三个文件,
新建一个文件夹将他们放在一起就可以了,Maven文件不用放一起可以删除了。
差点漏了,就是记得把素材也放一起
最终效果
弄完,运行一下exe看看是否能运行正常能运行就可以发给朋友玩耍了。
5.打包错误
第一种,我遇见这个情况,原因是没用1.8的jdk来打包jar文件导致
后面安装了1.8重新打包就可以了
第二种报错
这种情况就是上面没有激活登录exe4j所导致,工具准备那里有激活登录教程。
其他视频教学,我也看了多次的打包教学视频放在这里,如果上面没怎么看懂可以看看这个视频
如何将idea的java程序打包成exe (新版,可以在没有java的电脑下运行)
本文章到这里就结束了,内容如果有错误的或者有什么不懂的可以在评论区交流
最后,如果对你有帮助可以点关注点赞,谢谢支持。
相关文章:

(超详细讲解)实现将idea的java程序打包成exe (新版,可以在没有java的电脑下运行,即可以发给好朋友一起玩)
目录 实现打包到exe大概步骤 工具准备 1.将java程序文件打包成jar文件 2.准备好jre文件 3.使用exe4j软件打包好 4.最终打包 实现打包到exe大概步骤 1.打包需要满足的条件:将java文件转成jar文件的工具exe4j、 以及需要满足jdk1.8以上(因安装exe4…...

学习软考----数据库系统工程师29
数据操作 SELECT基本结构 简单查询 连接查询 子查询 聚集函数 分组查询 字符串操作 集合操作 外连接 INSERT INTO语句 DELETE语句 UPDATE语句...

STL中的优先级队列
目录 1.引言 2.简介 3.基本操作 4.实现原理 5.自定义优先级比较 6.相关题目 7.能特点 8.总结 1.引言 在C标准库中,优先级队列是一种非常有用的数据结构,它允许我们根据元素的优先级来对其进行排序和访问。这种数据结构在多种应用场景中都发挥着重…...

浅谈Acrel-2000ES储能能量管理系统的设计与应用-安科瑞 蒋静
0 前言 为进一步提升河南省分布式光伏发电发展水平,促进行业健康可持续发展,河南省发布关于促进分布式光伏发电健康可持续发展的通知。对于储能行业,可以用到安科瑞Acrel-2000ES储能能量管理系统。 储能柜EMS能量管理系统 1、产品名称 储…...

会员卡积分小程序系统源码商业运营版 行业一站式解决方案附带源代码以及搭建安装部署教程
系统概述 会员卡积分小程序系统源码商业运营版是一套完整的会员卡积分系统解决方案,包含前端小程序、后端管理系统以及数据库设计。该系统支持多种会员卡类型、积分规则设定、积分兑换、优惠券发放等功能,满足企业对于会员积分管理的各种需求。同时&…...

uniapp 百度地图 拖动获取经纬度级搜索连用
import loadBMap from /utils/loadBMap.js// 百度聚合具体代码 // 拖动 initMapc() {let that thisloadBMap(百度key).then(() > {map new BMap.Map(mapContainer)const centerPoint new BMap.Point(this.longitude, this.latitude)map.centerAndZoom(centerPoint, this.…...

Yarn的安装和使用详细教程(Mac/Window)
目录 Yarn是什么? Mac安装Yarn 使用Homebrew安装Yarn 使用npm安装Yarn Windows安装Yarn 使用npm安装Yarn Yarn使用 常用命令: 特殊命令: Yarn是什么? Yarn是一个流行的包管理工具,用于管理JavaScript项目的依…...

高考志愿系统-学生管理模块分析
1.获取学生信息: 接口:http://localhost:81/dev-api/college_entrance/student/list?pageNum1&pageSize10 请求方式get 默认传参pageNum和pageSize,表示当前页,每页展示数量 首先通过startPage()方法获取分页参数当前页&…...

【问题实操】银河高级服务器操作系统实例分享,开机之后反复重启
1.服务器环境以及配置 物理机/虚拟机/云/容器 物理机 外网/私有网络/无网络 私有网络 处理器: PHYTIUM FT2000PLUS 2200 MHz 内存: 128 GiB 整机类型/架构: HIKVISION DS-V BIOS版本: HK 601FBE02HK 网卡࿱…...

攻防世界-web-unseping
题目 知识点 PHP代码审计PHP序列化和反序列化PHP中魔术方法命令执行绕过方式 解读源码 <?php highlight_file(__FILE__);class ease{private $method;private $args;function __construct($method, $args) {$this->method $method;$this->args $args;}function …...

网络网络层之(4)IPv4协议
网络网络层之(1)IPv4协议 Author: Once Day Date: 2024年4月4日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文档可参考专栏:通信网络技术_Once-Day的…...

16-LINUX--线程安全
一。线程安全 线程安全即就是在多线程运行的时候,不论线程的调度顺序怎样,最终的结果都是 一样的、正确的。那么就说这些线程是安全的。 要保证线程安全需要做到: 1) 对线程同步,保证同一时刻只有一个线程访问临界资…...

Flask SQLAlchemy 技术指南
文章目录 什么是 Flask SQLAlchemy?安装 Flask SQLAlchemy创建 Flask 应用和数据库模型添加和查询数据运行 Flask 应用总结**数据库迁移(Database Migrations)****复杂查询****关系模型****事务处理****性能优化****安全性****扩展功能** Fla…...

js通过时间对JSON中的数据进行排序
需求 现在需要通过每一个数据段的date字段对数组的整体数据进行排序! 元数据如下: var data [{"filename": "123","date": "2024-05-10 19:53:57","stand": "GB-14","filter":…...

leetcode206-Reverse Linked List
题目 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 分析 用一个指针记录当前位置,另外一个指针记录当前位置的前一个位置,…...

云计算第十二课
安装虚拟机 第一步新建虚拟机 选择自定义安装 下一步 选择稍后安装操作系统 选择系统类型和版本 选择虚拟机文件路径(建议每台虚拟机单独存放并且路径不要有中文)点击下一步 选择bios下一步 选择虚拟机处理器内核数量 默认硬盘或者自行调大硬盘 选择虚…...

【elasticsearch】慢查询替代查询审计的尝试
【elasticsearch】慢查询替代查询审计的尝试 使用了es有两年了,突然发现一个,es没有查询审计日志,某个用户查询了某个索引的审计。 找了官方文档和社区的回复都是说使用slow log替代慢查询。 尝试一下。 参考链接1:https://discus…...

腐烂的橘子BFS
题目: 腐烂的橘子 在给定的 m x n 网格 grid 中,每个单元格可以有以下三个值之一: 值 0 代表空单元格; 值 1 代表新鲜橘子; 值 2 代表腐烂的橘子。 每分钟,腐烂的橘子 周围 4 个方向上相邻 的新鲜橘子…...

什么是分库分表
读写分离主要应对的是数据库读并发,没有解决数据库存储问题。试想一下:如果 MySQL 一张表的数据量过大怎么办? 答案当然是分库分表 什么是分库? 分库 就是将数据库中的数据分散到不同的数据库上,可以垂直分库,也可…...

pytest并发执行用例方案
背景 开始做新项目的UI自动化,需要考虑用例的并发执行,因为之前做的项目是通过插件pytest-parallel 0.1.1 pytest-multithreading-allure 1.0.8来实现的,所以这次也打算用此方法,然而在实际使用过程中发现一些问题。 问题一 通…...

VO,PO,DTO
DTO(Data Transfer Object)数据传输对象 前后端之间的传输时使用 比如前端登录请求的请求参数有username,password,但后端pojo类user有username,password,birthday,gender时,可以创…...

Java设计模式-工厂
Java设计模式中,工厂模式主要包括普通工厂模式以及抽象工厂模式,普通工厂模式是用于制造输出不同类型的对象,抽象工厂模式是用于制造输出不同类型的普通工厂,本文主要描述工厂模式的基本用法。 如上所示,使用普通工厂模…...

【JavaEE】【1.3 Servlet】1.3.6 监听
什么是Servlet上下文? Servlet上下文(Servlet Context)是Java Servlet技术中的一个概念,它代表了一个Web应用程序的上下文环境。在Servlet规范中,每个Web应用程序都有一个唯一的Servlet上下文对象,该对象在…...

C#泛型委托
在C#中,delegate 关键字用于声明委托(delegates),委托是一种类型安全的函数指针,允许你传递方法作为参数或从方法返回方法。有时我们需要将一个函数作为另一个函数的参数,这时就要用到委托(Dele…...

从零开始精通RTSP之多播传输
概述 多播(Multicast)是一种高效的网络通信技术,它允许一台或多台主机(可称为多播源)发送单一数据包到多个目标主机(可称为多播组的成员),而只有属于该多播组的接收者才会接收到这些…...

(五)STM32F407 cubemx IIC驱动OLED(2)硬件篇
这篇文章主要是个人的学习经验,想分享出来供大家提供思路,如果其中有不足之处请批评指正哈。 废话不多说直接开始主题,本人是基于STM32F407VET6芯片,但是意在你看懂这篇文章后,不管是F1,F4,H7等一系列系统硬件IIC配…...

头歌实践教学平台:CG1-v1.0-点和直线的绘制
第5关:0<k<1直线绘制-中点算法 一.任务描述 根据下面要求,在右侧修改代码,绘制出预期输出的图片。平台会对你编写的代码进行测试。 1.本关任务 掌握一种基本图形元素光栅化算法,利用OpenGL实现直线光栅化的中点画线算法…...

java基础之面向对象的思想
一、面向对象和面向过程的编程思想对比 面向过程:是一种以过程为中心的编程思想,实现功能的每一步,都是自己实现的(自己干活)。 面向对象:是一种以对象为中心的编程思想,通过指挥对象实现具体的…...

红黑树的理解和简单实现
目录 1. 红黑树的概念和性质 2. 红黑树的插入 2.1. 情况一:新增节点的父亲为空 2.2. 情况二:新增节点的父亲非空且为黑色节点 2.3. 情况三:当父亲为红节点,叔叔存在且为红 2.3.1. 当祖父为根节点的时候 2.3.2. 当祖父不是根…...

发表博客之:gemm/threadblock/threadblock_swizzle.h 文件夹讲解,cutlass深入讲解
文章目录 [发表博客之:gemm/threadblock/threadblock_swizzle.h 文件夹讲解,cutlass深入讲解](https://cyj666.blog.csdn.net/article/details/138514145)先来看一下最简单的struct GemmIdentityThreadblockSwizzle结构体 发表博客之:gemm/th…...