IDEA导出jar打包成exe应用程序的小结
作者:李逍遥~ 发布时间:2023-06-22 04:02:46
Java jar打包成exe应用程序,可在无JDK/JRE环境下运行
老师让做一个小项目,但是需要打包发布出来,因此在网上查了很多资料之后总结的经验。
1. IDEA导出jar包,选择 File -> Project Structure (快捷键:Ctrl+Alt+Shift+S)。
2. 选中"Artifacts",点击"+"选择jar,然后选择"from modules with dependencies"。
3. 选择文件图标,选中入口类(含main方法),点击“OK”,再次点击“OK”。
4. 选择“Build -> Build Artifacts”下的“Build”或者“Rebuild”按钮即可生成最终的可运行的jar.
5. 在目录中可以看到jar包。
6. 在cmd窗口中,切换到jar包所在的目录,执行命令:java -jar xxx.jar,运行jar包查看是否有错误。
7. 下载安装exe4j和inno setup complier
exe4j:将jar转换成exe的工具,
链接: https://pan.baidu.com/s/1AXaXeawYC0mcDUlSSMGvXw
提取码: smb7
注册码:
A-XVK267351F-dpurrhnyarva
A-XVK204432F-1kkoilo1jy2h3r
A-XVK246130F-1l7msieqiwqnq
A-XVK249554F-pllh351kcke50
A-XVK238729F-25yn13iea25i
inno setup:将jre和exe打包成一个安装程序的工具,
链接: https://pan.baidu.com/s/1DByTUoOBmo8h-n_A2s6jCw
提取码: 9hzj
8. 打开安装好的exe4j,直接下一步进入界面。
9. 选择“jar in exe” mode 选项,下一步。
10. 输入名称和输出路径,下一步。
11. 选择GUI或者控制台输出,输入应用名称,设置应用图标,下一步。
12. 选中“32-bit or 64-bit”,勾选“generate 64-bit executable”,下一步。
13. 再VM Parameters输入“ -Dappdir=${EXE4J_EXEDIR} ”,点击绿色+号。
14. 选择jar包路径,OK。
15. 选择应用程序的主类(含main方法),下一步。
16. 选择jdk版本。
17. 选中“ Search sequence ”,选中绿色+号添加jre目录。
18. 选择“ Directory ”,目录输入“ .\jre ”,下一步。
19. 选择“ Client hotspot VM ”,下一步。
20. 一直下一步,等待绿色进度条完成,在输出目录里面多了一个可运行程序。
21. 点击“ Click Here to Start the Application ”即可运行程序。
22. 打开inno setup complier软件,File -> new,下一步,填写配置,应用名称,版本等,下一步。
23. 默认,下一步。
24. 选择exe程序,下一步。
25. 默认,下一步。
26. 继续下一步。
27. 选择语言,下一步。
28. 选择输出路径,输入应用名称,下一步。
29. 下一步,完成,先不运行脚本文件。
30. 添加jre目录。
31. 在最后一行添加jre目录。
Source: "自己本地JRE路径\*"; DestDir: "{app}\{#MyJreName}"; Flags: ignoreversion recursesubdirs createallsubdirs
32. 编译运行,会提示保存当前脚本,随便起个名字,下个还可以继续用。
33. 当绿色滚动条结束后,桌面会多了一个demo1.exe文件。
34. 也同时会跳出一个安装的,因为程序帮你自动启动生成的安装程序了,安装就可以了,安装的时候记得勾选创建快捷方式,这个就是最后的程序了,双击运行就可以看到结果了,把demo1.exe文件给别人安装,就都可以看到自己的程序了。
来源:https://blog.csdn.net/weixin_42562514/article/details/106603392


猜你喜欢
- 前言:最近涉及到和QQ打交道,定义所有的好友一共只能有300条消息,如果一次性从数据库读取300条或者更多,界面会有细微的卡顿.所以考虑了下
- 最近在开发浏览器碰到这么一个需求:点击地址栏的时候,需要全选并调出键盘,再次点击就取消全选显示光标。点击屏幕除地址栏其他位置时,键盘隐藏,隐
- 本文实例为大家分享了C#导出Excel的具体代码,供大家参考,具体内容如下using System;using System.Collect
- 一、Lombok从上一篇博客可看出,DAO接口类的编写变得简单,反过来看模型,编写还需要(私有属性、setter...getter...方法
- 在使用SVN过程中可能有时因为一些原因,不想再使用SVN了,我们想取消与SVN的关联,让Android项目恢复到原始状态,不想有哪些花花绿绿
- foreach 循环 list(map)直接上代码:整体需求就是1.分页对象里面有map map里面又有数组对象2.分页对象里面有list
- 新手练手必备~密码账户为:先创建账户类:package cn.Atm;/*** @author 偶my耶*/import java.io.*
- 一、线性布局LinearLayout有两种排序方式orientation属性值为horizontal时,内部视图在水平方向从左往右排列。or
- 在项目中选择器的使用是非常多的,以下是本人在项目中的一些常用的背景选择器的写法带边框下划线背景选择器效果图:上面布局中放了10个CheckB
- 为什么使用Kotlin项目一期在收尾了终于有时间折腾了,一个多月以来Kotlin从入门到现在,坚持用来开发的切身感受。因为语法与Java的区
- 一、CORS概述跨源资源共享标准通过新增一系列 HTTP 头,让服务器能声明那些来源可以通过浏览器访问该服务器上的各类资源(包括CSS、图片
- 背景:本人不是Java开发人员,经过四年多的历练,可以说是一枚BI攻城师了吧,最近粗糙的写了一个Portal来集成cognos报表,下面就入
- 本文实例为大家分享了java实现图片分割指定大小的具体代码,供大家参考,具体内容如下1.使用工具:ThumbnailsThumbnails
- 学过C#的人应该都知道抽象方法与虚拟方法,而很多初学者对二者之间的区别并不是很了解。今天本文就来分析一下二者之间的区别。并附上实例加以说明。
- .NET 4 开始,在System.Collection.Concurrent中提供了几个线程安全的集合类。线程安全的集合可防止多个线程以相
- 之前做了一个小的应用程序,用的是c#语言,涉及到了多线程的多参数传递,经过查找资料总结了一下解决方案!第一种解决方案的原理是:将线程执行的方
- 目录1. 支付宝支付接口(沙箱实现)1.1 支付宝沙箱账号获取1.2 下载客户端(目前好像只支持Android)1.3 代码配置1. 支付宝
- 小菜今年计算机专业大四了,学了不少软件开发方面的东西,也学着编了些小程序,踌躇满志,一心要找一个好单位。当投递了无数份简历后,终于收到了一个
- Hystrix 是一个帮助解决分布式系统交互时超时处理和容错的类库, 它同样拥有保护系统的能力。Netflix的众多开源项目之一。设计流程:
- XML假如有这样一个XML格式的数据:<?xml version="1.0" encoding="utf