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

使用 exe4j 转换 Java jar 程序为 Windows 平台可执行文件 (.exe)

使用 exe4j 转换 Java jar 程序为 Windows 平台可执行文件 (.exe)

  • 介绍
    • exe4j 特点:
    • 转换全过程(软件操作)
      • 1、注册
      • 2、选择模式
      • 3、配置应用
      • 4、选择执行的方式(我这里管这个叫呈现方式)
      • 5、选择 JAR 和 Main
        • 重点:乱码
      • 6、输入运行支持的最小版本和最大版本
      • 7、转换成功
      • 如果需要改环境变量看这里:

介绍

exe4j 是一个用于将 Java 应用程序转换为 Windows 平台的可执行文件(.exe)的库。它支持 Java 应用程序的所有版本,包括 Java 8、Java 9及以后的版本。exe4j 提供了灵活的配置选项,使得开发者可以根据自己的需求来定制生成的可执行文件。

使用 exe4j 可以将 Java 应用程序打包成一个独立的 Windows 应用程序,这样用户就不需要安装 Java 运行时环境(JRE)来运行程序。exe4j 可以创建单个可执行文件,也可以创建包含所有必需依赖项的安装程序。

exe4j 特点:

  • 兼容性 - 支持 Java 8 到最新版本的 Java。 配置灵活性 - 允许配置 JVM 参数、系统属性、程序主类和主方法等。
  • 资源打包 - 可以打包程序的所有资源文件,如图片、声音等。 安装程序 - 支持创建包含所有依赖项的安装程序。

转换全过程(软件操作)

1、注册

首先打开软件注册 : Lincese

这里网上有很多,大家一搜索就可以搜到了例如:百度->exe4j 的 Lincese

在这里插入图片描述

2、选择模式

In reqular mode, exe4i does not include Java classes into the executable. lt uses the specified JAR filesand directories that have to be distributed along with it. This mode is suitable for all Java applications.

在常规模式下,exe4i不将Java类包含在可执行文件中。它使用指定的JAR文件和目录,这些文件和目录必须与它一起分发。这种模式适用于所有Java应用程序。

In “JAR in EXE” mode, exe4j compiles JAR files into the executable. in this way you can distribute a Javaapplication as a single EXE., You cannot include directories or files other than JAR files.

在“JAR In EXE”模式下,exe4j将JAR文件编译为可执行文件。通过这种方式,您可以将Java应用程序作为单个EXE分发。,不能包含JAR文件以外的目录或文件。

在这里插入图片描述

3、配置应用

1、输入配置应用的名称。

2、选择应用转换后的输出目录(可以理解为打包后的目录 -> 绝对路径)。

在这里插入图片描述

4、选择执行的方式(我这里管这个叫呈现方式)

GUI 可以理解为有界面的效果

Console 可以理解为控制台

Service 可以理解为服务

执行后应用的名字:Executable name

图标的设置:Icon File

(其他基本上不用管)

在这里插入图片描述

5、选择 JAR 和 Main

在这里插入图片描述
在这里插入图片描述

重点:乱码

有些情况可能会导致乱码,所以加上 -Dfile.encoding=utf-8,如下图

在这里插入图片描述

6、输入运行支持的最小版本和最大版本

在这里插入图片描述

7、转换成功

在这里插入图片描述
运行 testApp.exe 的效果

在这里插入图片描述

如果需要改环境变量看这里:

在这里插入图片描述

上面就是整个流程了。如果有疑问可以私信联系。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • WebSocket实现群聊功能、房间隔离
  • 字节抖音电商 后端开发岗位 一面
  • 图像边缘检测中Sobel算子的原理,并附OpenCV和Matlab的示例代码
  • 安全防御:智能选路
  • Study--Oracle-07-ASM自动存储管理(二)
  • vue路由的钩子函数
  • 【字幕】字幕特效入门
  • Android 使用WindowManager.LayoutParams窗口参数修改 Dialog 窗口的位置
  • Chapter 1:数据结构前言
  • 使用Python批量压缩图片
  • js获取和设置url参数
  • 7月17日学习打卡,数组
  • Android12 OTA全包升级清除用户数据
  • 基于matlab的深度学习案例及基础知识专栏前言
  • 生成Elasticsearch xpack安全认证证书
  • JavaScript 如何正确处理 Unicode 编码问题!
  • cookie和session
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • Hexo+码云+git快速搭建免费的静态Blog
  • iOS 系统授权开发
  • JavaScript新鲜事·第5期
  • Java面向对象及其三大特征
  • jdbc就是这么简单
  • js正则,这点儿就够用了
  • Netty 框架总结「ChannelHandler 及 EventLoop」
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 将 Measurements 和 Units 应用到物理学
  • 目录与文件属性:编写ls
  • 回归生活:清理微信公众号
  • ​Java并发新构件之Exchanger
  • ​卜东波研究员:高观点下的少儿计算思维
  • %3cli%3e连接html页面,html+canvas实现屏幕截取
  • (1)svelte 教程:hello world
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (el-Transfer)操作(不使用 ts):Element-plus 中 Select 组件动态设置 options 值需求的解决过程
  • (SERIES12)DM性能优化
  • (vue)页面文件上传获取:action地址
  • (阿里云万网)-域名注册购买实名流程
  • (二)丶RabbitMQ的六大核心
  • (分布式缓存)Redis持久化
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (亲测有效)推荐2024最新的免费漫画软件app,无广告,聚合全网资源!
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (循环依赖问题)学习spring的第九天
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • **PHP二维数组遍历时同时赋值
  • .NET大文件上传知识整理
  • .NET框架
  • ;号自动换行
  • [20150904]exp slow.txt
  • [ACP云计算]组件介绍
  • [AHOI2009]中国象棋 DP,递推,组合数
  • [Android Studio] 开发Java 程序
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [C++]C++基础知识概述