0

我正在尝试将 Spring Boot 应用程序作为 Windows 服务启动。我为此使用 Apache procrun。

我的文件夹结构是:

|-C:\BillWeb
|      |-- BW3
|           |- BillWeb-0.0.1-SNAPSHOT.jar
|           |
|          public
|           |- here place for static files (index.html... etc..)

我安装服务的命令是:

prunsrv.exe //IS//BillWeb3 --DisplayName="BillWeb-RKCDB2" --Description="BillWeb of RKCDB2" --Startup=auto --Install=C:\BillWeb\prunsrv.exe --Jvm=auto --JvmMx=3500 --Classpath=C:\BillWeb\BW3\BillWeb-0.0.1-SNAPSHOT.jar --StartMode=Java --StartClass=com.ric.web.Bootstrap --StartMethod=start --StartParams=start --StopMode=Java --StopClass=com.ric.web.Bootstrap --StopMethod=stop --StopParams=stop --StdOutput=auto --StdError=auto --LogPath=C:\BillWeb\BW3\ --LogLevel=Debug

该服务运行良好,但 Spring Boot 看不到用于 Web 访问的静态文件夹。

http://192.168.100.200:8084/index.html  <- not accessible

但是当我使用它时,我的服务成功地找到了静态文件:

cd C:\BillWeb\BW3
java -jar -Duser.language=en -Duser.region=us BillWeb-0.0.1-SNAPSHOT.jar

我该如何纠正这个问题?

4

1 回答 1

0

根据文件

--StartPath Working path for the start image executable.

我必须添加 --StartPath 参数来安装服务,如下所示:

prunsrv.exe //IS//BillWeb3 --StartPath=C:\BillWeb\BW3\ --DisplayName="BillWeb-RKCDB2" ...

它完全解决了我的问题。

于 2017-05-12T07:39:53.177 回答