当前位置: 首页 > news >正文

(超详细讲解)实现将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 网卡&#xff1…...

攻防世界-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学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文档可参考专栏&#xff1a;通信网络技术_Once-Day的…...

16-LINUX--线程安全

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

Flask SQLAlchemy 技术指南

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

js通过时间对JSON中的数据进行排序

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

leetcode206-Reverse Linked List

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

云计算第十二课

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

【elasticsearch】慢查询替代查询审计的尝试

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

腐烂的橘子BFS

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

什么是分库分表

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

pytest并发执行用例方案

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

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得&#xff0c;如果用户端访问量比较大&#xff0c;数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据&#xff0c;减少数据库查询操作。 缓存逻辑分析&#xff1a; ①每个分类下的菜品保持一份缓存数据…...

unix/linux,sudo,其发展历程详细时间线、由来、历史背景

sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...

PL0语法,分析器实现!

简介 PL/0 是一种简单的编程语言,通常用于教学编译原理。它的语法结构清晰,功能包括常量定义、变量声明、过程(子程序)定义以及基本的控制结构(如条件语句和循环语句)。 PL/0 语法规范 PL/0 是一种教学用的小型编程语言,由 Niklaus Wirth 设计,用于展示编译原理的核…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

【JavaWeb】Docker项目部署

引言 之前学习了Linux操作系统的常见命令&#xff0c;在Linux上安装软件&#xff0c;以及如何在Linux上部署一个单体项目&#xff0c;大多数同学都会有相同的感受&#xff0c;那就是麻烦。 核心体现在三点&#xff1a; 命令太多了&#xff0c;记不住 软件安装包名字复杂&…...

C# 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用

文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么&#xff1f;1.1.2 感知机的工作原理 1.2 感知机的简单应用&#xff1a;基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...