1.问题提出
当你写了一个很炫酷的java小游戏,你迫不及待想给朋友分享。然而,你发给朋友之后,他却表示无法执行。因为我们无法保证其他人的电脑上已经安装了java运行环境。
所以,我们有哪些方法把我们的炫酷代码分享给朋友呢?
2.如何将java程序打包成可执行文件
这里介绍两种方式。
2.1将编译后的代码及jre运行环境一起打包
1. 将程序编译后,拷贝一份jre环境,放在同一个文件目录下,如下图所示
2. 新建一个文件,命名为start.bat。输入以下内容
set path="jre1.8.0_261\bin" java main pause
解释下这几句批处理代码
- 第一句:设置局部环境变量(常规jdk环境变量是全局配置)。由于此处环境变量的作用只在此处运行代码有效,所以只引入jre配置则可。
- 第二句:运行java类文件或者jar文件(按实际情况修改成别的启动命令)
- 第三句:暂停该批处理程序(没有这一句程序会一闪而过)
2.2使用第三方打包工具
可以使用第三方打包工具,直接打包成系统可执行文件,例如windows的exe程序。
下面以launch4j作为演示,下载地址:launch4j官网
- 打开launch4j,点击"new configuration file"新建一个配置文件;
- 设置输入选项,指定主类名称和jre路径;
- 添加输出选项,指定生成的exe文件名称和位置;
- 完成配置后,点击"build wrapper"构建wrapper;
- 最后点击"save config as..."保存配置文件。
根据自己的需求修改配置文件中的参数,然后点击"build"按钮就可以生成可执行的exe文件了。
launch4j的功能很完善,可以定制程序图标,设置运行jvm参数等等,也支持把jre一起打进程序或者从指定网站下载。
2.3使用jdk自带的jpackage工具
jpackage
是从 java 14 开始提供的一个工具,它允许开发者为 java 应用程序生成特定系统平台的可执行程序,而不需要在目标系统上预先安装 java 运行时环境(jre)。
jpackage
通过将 jre 和应用程序的 jar 文件以及所有必要依赖项打包在一起,生成特定平台的可执行程序,例如 windows 上的 .exe
文件或 macos 上的 .dmg
文件。
使用 jpackage
的好处包括:
- 无需安装 java:用户无需在本地安装 java 即可运行应用程序。
- 易于分发:生成的可执行文件或安装程序可以轻松地在目标平台上分发和安装。
- 自定义:
jpackage
支持自定义应用名称、图标等,提供了丰富的自定义选项。 - 跨平台:虽然每种格式必须在相应的平台上构建,但
jpackage
本身支持跨平台生成不同的包格式。
基本的 jpackage
使用示例如下:
jpackage --input . --name youappname --main-jar yourapp.jar
对于 windows 平台,jpackage
需要 wix 工具来生成安装程序,并且可能需要额外的参数来指定控制台模式、快捷方式等2。
此外,jpackage
可以与 jlink
工具结合使用,创建自定义的 java 运行时映像,进一步减小应用程序的大小并优化性能3。
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论