Jar2Exe是一款将jar文件转换成exe可执行文件的工具软件。这款软件的主要功能是使用JNI接口启动Java虚拟机,并在此基础上提供其他高级的功能。用户可以通过Jar2Exe轻松地将jar应用程序转换为exe文件,以此增强应用程序的便携性和可用性。
它的工作原理是使用Java Native Interface (JNI)启动Java虚拟机,这意味着它可以直接与C++、C等其他本地应用程序进行交互,而无需通过Java环境的启动和管理。因此,通过Jar2Exe生成的exe文件可以实现自包含,不再依赖于预先安装的Java环境。
Jar2Exe的高级功能包括对生成的exe文件进行加密保护,防止内部的Java程序代码被反编译。此外,它还支持为exe文件添加图标,乃至于设置程序在运行时的系统托盘图标等功能。因此,无论是在软件发布、分发还是日常使用中,Jar2Exe都能提供便利的帮助,增强程序的易用性和专业感。
自行在主机上查找JRE
生成的二进制执行程序将在主机上找到 JRE:
- 从系统注册表中搜索 SUN JRE 和 IBM JRE 的 JRE。
- 从本地捆绑的“jre”目录中搜索 JRE。
- 从 JAVA_HOME 或 JRE_HOME 环境变量中搜索 JRE。
- 在 Linux 上,通过“which java”到“java”符号链接搜索 JRE
- 搜索方式可以被禁用或重新排序。
执行前检查Java版本
检查java版本高于或低于某个版本:
- 检查java版本必须等于或大于某个版本。 (敏杰雷)
- 检查java版本不高于某个版本。 (最大)
- 检查java版本是可选的,可以禁用它。
添加图标和版本信息到生成的二进制文件
将图标和版本添加到生成的二进制执行文件的资源中:
- 可以将一个或多个图标添加到生成的二进制文件中。
- 支持设置文件版本和产品版本。
- 支持设置一组版权说明。
消息是可定制的
错误消息可以自定义,您可以为您的客户添加更多提示。例如:
- 在主机上找不到 Java 运行时环境 (JRE)
- 主类(程序的入口点)未找到或无效。
- 由于没有权限,服务安装失败。
- 其他十几条留言。
广泛的兼容性
Jar2Exe和生成的二进制文件具有广泛的兼容性:
- Jar2Exe 支持为 Windows 和 Linux 和 Mac OS X 生成二进制文件。
- Jar2Exe支持生成32位和64位二进制文件。
- 生成的二进制文件使用 JRE 从 1.2 到 1.7 运行。
- 生成的二进制文件与 VC 运行时库无关。
- 为 Linux 生成的二进制文件是独立于 GLIBC 的。
将 System.out、System.err 重定向到文件或管道
默认情况下,不启用 stdout 重定向。
- System.out 和 System.err 可以分别重定向。
- Stdout、stderr 可以重定向到磁盘文件或系统设备,例如 PRN、NUL、/dev/null 等。
- Stdout、stderr 可以重定向到管道,通过该管道输出将是另一个程序的 stdin。
程序启动时显示启动屏幕
即使使用 1.5 之前的 JRE 运行,也会显示启动屏幕。
- 当第一个窗口出现时自动关闭。
- 可以自定义窗口标题,该标题将显示在任务栏上的按钮中。
- 任务栏上的按钮可以用空标题隐藏。
- 启动画面的关闭可以通过集成API控制。
支持系统图标托盘
支持在任务栏上显示托盘图标。这对于桌面上的迷你工具程序很有用。
- 显示气球样式的系统图标托盘。
- 图像是可变的,因此可以通过逐帧改变图像来显示移动的图标。
- 可以通过集成API捕获鼠标事件。
- 在鼠标事件上显示弹出菜单。
使用绝对或相对路径设置“当前工作目录”
“当前工作目录”会影响相对路径的文件操作。如果使用不带目录路径的文件名创建文件,则该文件将在“当前工作目录”中创建:
- 如果工作目录设置为相对路径,则它基于二进制文件的路径。
生成的二进制执行程序可通过丰富的配置项进行配置
可以配置参数来生成二进制执行程序,例如 Java VM 参数、系统属性、环境变量、JRE 路径、JRE 搜索顺序、stdout 重定向等:
- 配置可以放在二进制文件内部。
- 配置可以位于配置文件外部,或两者兼而有之。
- 配置助手可以帮助编辑配置。
- 二进制文件之外的配置文件可以通过内部配置禁用。
单实例和高级单实例
SingleInstance是控制同一个程序的运行实例:
- 支持单实例功能来控制运行实例,默认“false”表示不限制。
- 支持“singleinstance true”以允许同时运行一个实例。
- 支持“单实例自定义”,实现实例之间的通信,让java程序控制实例。
加密保护java程序,防止被提取
将java程序加密并隐藏到生成的二进制文件中,然后无法提取:
- 受保护的程序运行时不会创建临时文件。
- 类和其他资源文件都可以受到保护。
- 在大多数情况下,无需修改程序即可与保护兼容。
- 在某些情况下,如果程序使用ClassLoader,则可能需要使用另一个ClassLoader来代替以兼容保护。
作为服务运行,无需特殊编码
Jar2Exe 可以为 Windows、 Linux 和 Mac OS X 生成 Service 类型的二进制文件:
- 无需特殊编码,任何java程序都可以作为服务运行。
- 系统启动时自动或手动启动。
- 它可以在命令行中自行安装和卸载。
- 在命令行安装服务时可以添加固定的启动参数。
- 通过集成API获取关闭事件。
- 在 Windows 上,支持暂停/继续。
依赖的jar文件可以嵌入到二进制执行中
将依赖的 jar 文件包装到单个二进制执行文件中。这些嵌入的 jar 文件已经包含在类路径中:
- 嵌入式 jar 文件中的类在内部加载,而不写入临时文件。
- 如果为主 jar 文件选择加密或隐藏选项,则可以选择保护嵌入的 jar 文件。
Jar2Exe 可以作为向导窗口或命令行工具运行
Jar2Exe可以在向导模式和命令行模式下运行:
- 从快捷方式或不带参数的命令行运行 Jar2Exe,它将在向导模式下运行。
- 带参数运行 Jar2Exe,它将在命令行模式下运行。
- 在向导的最后一步,为了方便起见,可以创建等效的命令行字符串。
上下文帮助
随时方便地获得帮助:
- 向导的每一步都有一个帮助按钮,告诉您使用方法。
- 输入“j2ewiz /?”在命令行获取命令行模式的提示。
评论(0)