(超详细讲解)实现将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来实现的,所以这次也打算用此方法,然而在实际使用过程中发现一些问题。 问题一 通…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
关于 WASM:1. WASM 基础原理
一、WASM 简介 1.1 WebAssembly 是什么? WebAssembly(WASM) 是一种能在现代浏览器中高效运行的二进制指令格式,它不是传统的编程语言,而是一种 低级字节码格式,可由高级语言(如 C、C、Rust&am…...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
AspectJ 在 Android 中的完整使用指南
一、环境配置(Gradle 7.0 适配) 1. 项目级 build.gradle // 注意:沪江插件已停更,推荐官方兼容方案 buildscript {dependencies {classpath org.aspectj:aspectjtools:1.9.9.1 // AspectJ 工具} } 2. 模块级 build.gradle plu…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
C++课设:简易日历程序(支持传统节假日 + 二十四节气 + 个人纪念日管理)
名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 专栏介绍:《编程项目实战》 目录 一、为什么要开发一个日历程序?1. 深入理解时间算法2. 练习面向对象设计3. 学习数据结构应用二、核心算法深度解析…...




