Gus*_*ave 5 jlink apache-commons-daemon java-9 prunsrv java-module
背景:从Java 9开始,可以使用jlink创建自定义运行时映像(JRE + program)。
可以使用prunsrv.exe(Apache Commons Daemon的一部分)将Java程序作为Windows服务安装。
prunsrv可用于三种启动模式:java,jvm和exe。
我设法使用exe模式启动了自定义运行时映像,并使用jvm模式启动了传统的Java程序(类路径+普通JDK),但无法在映像中使用jvm模式(不会启动新进程) 。
prunsrv具有一个“ JvmOptions9 ”参数,这可能暗示可能支持此方案,但我不确定。
我一开始也遇到了同样的问题,但设法解决了。虽然这是一个老问题,但这是我在搜索时发现的第一个问题,因此我将为其他人提供我的答案。
我可以毫无问题地安装该服务,但是当我尝试在 jvm 模式下启动它时,它会失败并抱怨“%1 不是有效的 Win32 应用程序”。这里的关键字是Win32。
prunsrv 可执行文件有两个版本:一种位于安装目录中,另一种位于 amd64 子目录中。安装目录中的版本仅支持32位,而amd64中的版本则支持64位代码。prunsrv 和 Java 版本必须都是 32 位或 64 位;我试图从 32 位 prunsrv 服务启动 64 位 Java VM。
换句话说,确保使用适用于目标 Java VM 的正确版本的 prunsrv。这样我就可以毫无问题地使用精简的运行时映像运行模块化 Java 9(或实际上 12)应用程序。
| 归档时间: |
|
| 查看次数: |
75 次 |
| 最近记录: |