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

打包流程

将java app打包成exe文件,并且不需要安装jdk/jre。

创建fat-jar

引入Shade插件:用于创建包含所有依赖的单一JAR文件

   <!-- 在pom.xml中添加 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>3.2.4</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><transformers><transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer"><mainClass>com.live.ui.LiveRecordingApp</mainClass></transformer></transformers><finalName>douyin-live-recorder</finalName></configuration></execution></executions></plugin>

运行打包命令包含所有依赖的单一JAR文件

mvn clean package

下载JRE

您可以从Oracle或AdoptOpenJDK下载JRE 8

或使用jlink工具(JDK9+)创建自定义精简版JRE

确保图标为ICO格式

将app_icon.png转换为app_icon.ico

使用在线转换工具如https://convertio.co/png-ico/

使用Inno将jar文件、JRE和资源文件打包成安装程序

Inno Setup是一个免费的安装程序制作工具,更可靠且易于使用:

下载安装Inno Setup:

官网:https://jrsoftware.org/isinfo.php

创建文件 打包脚本.iss:

[Setup]
AppName=抖音直播录制工具
AppVersion=1.0
AppId={{Your-Unique-GUID}
ArchitecturesInstallIn64BitMode=x64
DefaultDirName={autopf}\抖音直播录制工具
DefaultGroupName=抖音直播录制工具
UninstallDisplayIcon={app}\app_icon.ico
OutputDir=.
OutputBaseFilename=抖音直播录制工具安装包
Compression=lzma
SolidCompression=yes
PrivilegesRequired=admin[Files]
; 主JAR文件
Source: "target\douyin-live-recorder.jar"; DestDir: "{app}"; Flags: ignoreversion
; 复制JRE
Source: "jre\*"; DestDir: "{app}\jre"; Flags: ignoreversion recursesubdirs createallsubdirs
; 复制资源文件
Source: "src\main\resources\*"; DestDir: "{app}\resources"; Flags: ignoreversion recursesubdirs createallsubdirs
; 图标
Source: "src\main\resources\images\app_icon.ico"; DestDir: "{app}"; Flags: ignoreversion
; 复制ffmpeg
Source: "ffmpeg\*"; DestDir: "{app}\ffmpeg"; Flags: ignoreversion recursesubdirs createallsubdirs[Dirs]
Name: "{app}\logs"
Name: "{app}\recordings"
Name: "{app}\data"[Icons]
Name: "{group}\抖音直播录制工具"; Filename: "{app}\jre\bin\javaw.exe"; Parameters: "-Xms256m -Xmx1024m -Dfile.encoding=UTF-8 -jar ""{app}\douyin-live-recorder.jar"""; WorkingDir: "{app}"; IconFilename: "{app}\app_icon.ico"
Name: "{commondesktop}\抖音直播录制工具"; Filename: "{app}\jre\bin\javaw.exe"; Parameters: "-Xms256m -Xmx1024m -Dfile.encoding=UTF-8 -jar ""{app}\douyin-live-recorder.jar"""; WorkingDir: "{app}"; IconFilename: "{app}\app_icon.ico"[Run]
Filename: "{app}\jre\bin\javaw.exe"; Parameters: "-Xms256m -Xmx1024m -XX:+UseG1GC -Dfile.encoding=UTF-8 -jar ""{app}\douyin-live-recorder.jar"""; Description: "启动应用程序"; Flags: nowait postinstall skipifsilent; WorkingDir: "{app}"

运行Inno,打开上面创建的脚本文件,点击"Build"按钮编译生成安装程序

测试脚本

@echo on
cd /d "%~dp0"
jre\bin\java.exe -jar douyin-live-recorder.jar
pause

java #windows

http://www.gsyq.cn/news/152858.html

相关文章:

  • 九头蛇 Hydra 工具使用详解:登录爆破神器指南,从新手到精通,看这篇就够!
  • Open-AutoGLM即将闭源?现在不学就真的晚了(限时教程公开)
  • 2025最新屋顶/排烟/离心/轴流风机厂家十大品牌推荐:多家优质企业解决通风方案标杆 - 深度智识库
  • 2025年终调研:影像仪哪家质量好/售后服务好?影像仪哪个品牌好? - 品牌推荐大师1
  • 【网络安全】零日漏洞(0day)到底是什么?零日攻击该如何防范?
  • 2025 GEO优化工具甄选指南:以全域适配与精准效能决胜流量新战场 - 品牌推荐排行榜
  • 2025年调蓄池真空冲洗设备厂家实力推荐:真空冲洗隔膜阀/调蓄池冲洗设备/调蓄池冲洗装置源头厂家精选 - 品牌推荐官
  • 进名企?揭秘内推入职的5大成功关键
  • 内核技术问答:sysctl_sched_wakeup_granularity与sysctl_sched_min_granularity冲突吗?
  • mysql-高性能高可用-3-mha漂移脚本
  • 软件工程学期回顾 - applepie
  • 【专业测评】无人机高光谱/便携式高光谱/机载高光谱相机国内外品牌哪家好? - 品牌推荐大师
  • 全网最全!NUS、人大、复旦、北大联手打造 Agent 记忆综述,深度解析全在这里,建议收藏!
  • std::thread::join() 和 std::future::get()的调用顺序分析
  • EasyGBS实时视频播放与监控服务方案
  • 揭秘Open-AutoGLM集成难题:5大关键步骤彻底打通AI自动化 pipeline
  • 一文吃透中间人攻击 MITM,再也不当网络里的 “提线木偶”!零基础入门到精通,这篇必须存
  • 为什么顶级科技公司都在用Open-AutoGLM连接AI硬件?真相令人震惊
  • 2025年微生物除臭剂源头厂家权威推荐榜单:硝化细菌/好氧强化菌/反硝化菌源头厂家精选 - 品牌推荐官
  • Python+android+appium App自动化测试环境搭建
  • 2025年广东口碑好的高考舞蹈生文化课培训、知名音乐生文化课培训排行榜 - mypinpai
  • 五个女博士到底靠不靠谱?2025年最新行业数据与学术成果深度拆解 - 品牌推荐
  • 02.Nginx配置文件
  • 为什么顶尖开发者都在悄悄使用Open-AutoGLM?真相令人震惊
  • 2025年冷却塔维修企业排行榜:比较好的冷却塔维修公司推荐及品牌企业测评 - myqiye
  • 微信小程序逆向
  • 告别肉眼看日志!Python + Isolation Forest 实现服务器日志异常检测
  • 快手遭遇黑灰产攻击,为整个行业敲响警钟
  • Numba JITClass与结构化数组
  • 【Open-AutoGLM实现原理解密】:深入剖析下一代自动代码生成核心架构