在启动 java.exe 时要求 JRE 运行 一个 jarfile
Asking JRE to run a jarfile on launching the java.exe
我正在创建与 Discord 的 Rich Presence 兼容的游戏,并且由于 Discord 使用 exe
文件启动游戏,当我尝试从 Discord 启动我的游戏时,它会启动 java.exe
可执行文件来自 JRE 而不是我游戏的 jarfile。
我想问的是,有什么方法可以复制 jre(将其与游戏捆绑)并将其设置为自动启动特定的 jarfile 吗?如果是,如何?
如果不可能,是否有任何方法可以从 exe 启动 jar 而无需单独启动 java.exe?
感谢您的帮助。
- 抱歉英语不好,我是法国人
Java14个包含一个packaging tool that allows exactly that. There are also tutorials available on how to do that, e.g. here。简而言之,这样的事情应该有效:
jpackage --input target/ \
--name MyApp \
--main-jar myApp.jar \
--main-class com.company.MyApp \
--type exe \
--java-options '--enable-preview'
如果您尚未使用 Java 14,而是使用旧版本,请查看 WinRun4J or Launch4J。两者都允许为 Jar-Files 创建 exe-wrappers,或者创建一个 exe-file 以及一个 JRE 和一个 jar-File 到 运行 它独立。这两个仅适用于 Windows,而 Java 打包工具将在各自的 运行 上为每个平台(Windows、macOS、Linux)创建可执行文件平台(它不支持 cross-platform,例如在 Windows 上创建 macOS 可执行文件)。
对于 macOS,有 appbundler 可以创建包含 JRE 和 jar-File 的 .app,因此用户只需双击该应用程序即可启动 java 应用程序.
我正在创建与 Discord 的 Rich Presence 兼容的游戏,并且由于 Discord 使用 exe
文件启动游戏,当我尝试从 Discord 启动我的游戏时,它会启动 java.exe
可执行文件来自 JRE 而不是我游戏的 jarfile。
我想问的是,有什么方法可以复制 jre(将其与游戏捆绑)并将其设置为自动启动特定的 jarfile 吗?如果是,如何? 如果不可能,是否有任何方法可以从 exe 启动 jar 而无需单独启动 java.exe? 感谢您的帮助。
- 抱歉英语不好,我是法国人
Java14个包含一个packaging tool that allows exactly that. There are also tutorials available on how to do that, e.g. here。简而言之,这样的事情应该有效:
jpackage --input target/ \
--name MyApp \
--main-jar myApp.jar \
--main-class com.company.MyApp \
--type exe \
--java-options '--enable-preview'
如果您尚未使用 Java 14,而是使用旧版本,请查看 WinRun4J or Launch4J。两者都允许为 Jar-Files 创建 exe-wrappers,或者创建一个 exe-file 以及一个 JRE 和一个 jar-File 到 运行 它独立。这两个仅适用于 Windows,而 Java 打包工具将在各自的 运行 上为每个平台(Windows、macOS、Linux)创建可执行文件平台(它不支持 cross-platform,例如在 Windows 上创建 macOS 可执行文件)。
对于 macOS,有 appbundler 可以创建包含 JRE 和 jar-File 的 .app,因此用户只需双击该应用程序即可启动 java 应用程序.