Apache Common Daemons:PrunServ --StartPath 参数覆盖 windows 上的 PATH

Apache Common Daemons : PrunServ --StartPath parameter overriding PATH on windows

我正在 运行在 windows 10 工作站上安装 java 程序。

我想 运行 我的 java 程序作为服务,所以我使用了 apache commons 工具 p运行serv http://commons.apache.org/proper/commons-daemon/procrun.html

问题是我的 java 程序 运行 里面有一些 windows shell 命令就像 cmd \c netstat -rn 但是当我开始我的 java作为服务程序并将 StartPath 指定为某个目录。我的 java 程序中的命令失败并出现如下错误

Error executing command : [cmd, /c, netstat, -rn], Output is : 'netstat' is not recognized as an 
internal or external command,
operable program or batch file.

我觉得 proc运行 的 StartPath 参数覆盖了像 C:\Windows\System32 这样的 PATH 变量,从而使 java 程序中的命令失败

--StartPath 启动映像可执行文件的工作路径。

我该如何处理这种情况?

如果您需要更多详细信息,请告诉我。

在此先感谢您的帮助。

Procrun(Prunserv) 提供设置环境的选项

http://commons.apache.org/proper/commons-daemon/procrun.html

++Environment="PATH='C:\Users\Public\agent\jre\bin';'C:\Windows\system32'"

我在环境中添加了 C:\Windows\system32,它工作正常。

Note : Environment option in prunserv is List of environment variables that will be provided to the service in the form key=value. They are separated using either # or ; characters. If you need to embed either # or ; character within a value put them inside single quotes.