使用 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

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

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

在这里插入图片描述

7、转换成功

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

在这里插入图片描述

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

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mybatis 学习之 数字字符串判断“失效”问题

目录 1. 现象2. 原因3. 解决4. 特别注意 1. 现象 <?xml version"1.0" encoding"UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <mapper…

Java 中的正则表达式

转义字符由反斜杠\x组成&#xff0c;用于实现特殊功能当想取消这些特殊功能时可能在前面加上反斜杠\ 例如在Java中\也具有特殊意义&#xff0c;前面加一个反斜杠表示取消特殊意义&#xff0c;表示1个普通的反斜杠\&#xff0c;\\\\表示2个普通的反斜杠\\。其实就是要求Java中的…

Python那些优质可视化工具!

作者&#xff1a;Lty美丽人生 https://blog.csdn.net/weixin_44208569 本次分享10个适用于多个学科的Python数据可视化库&#xff0c;其中有名气很大的也有鲜为人知的&#xff01; 1、matplotlib 两个直方图 matplotlib 是Python可视化程序库的泰斗。经过十几年它任然是Pytho…

【前端速通系列|第二篇】Vue3前置知识

文章目录 1.前言2.包管理工具npm2.1下载node.js2.2配置 npm 镜像源2.3 npm 常用命令 3.Vite构建工具4.Vue3组件化5.Vue3运行原理 1.前言 本系列文章旨在帮助大家快速上手前端开发。 2.包管理工具npm npm 是 node.js中进行 包管理 的工具. 类似于Java中的Maven。 2.1下载nod…

Autoware 定位之基于ARTag的landmark定位(六)

Tip: 如果你在进行深度学习、自动驾驶、模型推理、微调或AI绘画出图等任务&#xff0c;并且需要GPU资源&#xff0c;可以考虑使用UCloud云计算旗下的Compshare的GPU算力云平台。他们提供高性价比的4090 GPU&#xff0c;按时收费每卡2.6元&#xff0c;月卡只需要1.7元每小时&…

CSS相对定位和绝对定位的区别

CSS相对定位和绝对定位的区别 区别1&#xff1a;相对的对象不同 相对定位是相对于自己绝对定位是相对于离自己最近的有定位的祖先 区别2:是否会脱离文档流 相对定位不会脱离文档流&#xff0c;不会影响其他元素的位置绝对定位会脱离文档流&#xff0c;会影响其他元素的布局 代…

玩转springboot之SpringBoot打成jar包的结构

SpringBoot打成jar包的结构 springboot通常会打成jar包&#xff0c;然后使用java -jar来进行执行&#xff0c;那么这个jar包里的结构是什么样的呢 其中 BOOT-INF 中包含的classes是我们程序中所有的代码编译后的class文件&#xff0c;lib是程序所引用的外部依赖 META-INF 这个…

AM243-Timer

目录 简介初始化代码测试API补充 简介 定时中断。 初始化 开启定时器&#xff0c;最多支持8个硬件定时器 定时周期1ms 增加一个GPIO输出口PRG0_PRU1_GPO15/M4 &#xff0c;我们会在定时中断中每隔1ms翻转该引脚&#xff0c;理想情况下应该在该引脚上测得2ms周期500Hz的矩形…

手把手教你打数学建模国赛!!!第一天软件准备篇

第一天软件准备 MATLAB MATLAB&#xff08;Matrix Laboratory&#xff09;是一种强大的数值计算和科学编程软件。它提供了丰富的数学函数和工具&#xff0c;用于数据分析、算法开发、信号处理、图像处理、控制系统设计、仿真等应用领域。 MATLAB具有直观的语法&#xff0c;使…

Postman接口模拟请求工具使用技巧

Postman是一款非常强大的接口模拟请求工具&#xff0c;可以帮助开发者快速测试、调试API接口。下面集合实际使用过程中的经验&#xff0c;分享大家一些基础使用技巧&#xff1a; 1. 安装与启动&#xff1a;首先在官网&#xff08;Download Postman | Get Started for Free&…

【Linux信号】阻塞信号、信号在内核中的表示、信号集操作函数、sigprocmask、sigpending

我们先来了解一下关于信号的一些常见概念&#xff1a; 实际执行 信号的处理动作 称为信号递达。 信号从产生到递达的之间的状态称为信号未决。 进程可以选择阻塞(Block)某个信号。 被阻塞的信号产生时是处于未决状态的&#xff0c;知道进程解除对该信号的阻塞&#xff0c;该…

零信任作为解决方案,Hvv还能打进去么?

零信任平台由“中心组件服务”三大部分构成&#xff0c;以平台形式充分融合软件定义边界&#xff08;SDP&#xff09;、身份与访问管理&#xff08;IAM&#xff09;、微隔离 &#xff08;MSG&#xff09;的技术方案优势&#xff0c;通过关键技术的创新&#xff0c;实现最佳可信…

Vue中的Mixins与钩子函数:理解合并与调用

在Vue的开发过程中&#xff0c;mixins是一个非常有用的特性&#xff0c;它允许我们跨多个组件共享可复用的代码。然而&#xff0c;当我们在组件与mixins之间定义同名的钩子函数或方法时&#xff0c;理解它们之间的相互作用和合并机制就显得尤为重要。 在Vue.js中&#xff0c;对…

Reinforement Learning学习记录(五)

前言 最近两周的工作主要是在做方向的探索和相关论文的学习,这次的介绍会分为,项目介绍,论文学习,当前进度,未来计划 项目介绍 最近主要是尝试了两个大类的项目,第一个是视觉追踪,第二个是三维重建 视觉跟踪 视觉追踪的话,参考了这几个开源项目: CoTracker: It i…

手机数据恢复篇:如何从 Android 手机恢复消失的照片

丢失 Android 手机中的照片现在已成为您可能遇到的最糟糕的情况之一。随着手机在相机方面越来越好&#xff0c;即使是那些不热衷于拍照的人也成为了摄影师。 如今&#xff0c;人们可以随时随地拍摄照片&#xff0c;每一张照片都保存着回忆和数据&#xff0c;因此&#xff0c;丢…

变得越来越优秀的方法

反省后看到问题很正常&#xff0c;接纳-行动-改变-能量-帮助-成长变优秀&#xff1b;温和后需要【中庸智慧】灵活处世&#xff0c;不做老好人&#xff0c;须有原则有框架&#xff01; —— 只有深刻地反省&#xff0c;我们才能真正地认识自己&#xff0c;我们反省后会看到自己…

昇思25天学习打卡营第19天|应用实践之基于MobileNetv2的垃圾分类

基本介绍 今天的应用实践是垃圾分类代码开发&#xff0c;整体流程是读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。采用的是MobileNetv2模型&#xff0c;使用官方提供的数据集&#xff0c;数据集分为4大类&…

python如何与前端交互

文章目录 1. 选择一个 Python Web 框架2. 创建 Web 应用程序3. 编写后端逻辑4. 编写前端代码5. 连接前后端6. 部署和测试扩展Jupyter Notebook Python 与前端&#xff08;如 HTML, CSS, JavaScript&#xff09;的关联通常是通过 Web 框架来实现的&#xff0c;这些框架允许 Pyth…

维度的自定义标签:Kylin Cube设计中的元数据支持

维度的自定义标签&#xff1a;Kylin Cube设计中的元数据支持 在数据分析的多维世界中&#xff0c;Apache Kylin的Cube设计提供了强大的灵活性&#xff0c;允许用户根据需求定制化地分析数据。维度的自定义元数据是这一灵活性的体现之一&#xff0c;它允许用户为维度添加额外的…

【MySQL】8.复合查询

复合查询 一.基本查询回顾(新增子查询)二.多表查询三.自连接四.子查询1.单列单行子查询2.单列多行子查询——三个关键字3.多列子查询4.在 from 子句中使用子查询 五.合并查询六.总结 一.基本查询回顾(新增子查询) //1.查询工资高于500或岗位为MANAGER的雇员&#xff0c;同时还…