1

我正在尝试将 Java 程序作为 Windows 服务启动。谷歌搜索我找到了一个 install.bat 来安装和启动我的服务。

正如我在 Internet 上发现的,我已将 prunsrv.exe 重命名为 IdentificationService.exe。

D:\IdentificationService\bin\IdentificationService.exe //IS//IdentificationService
D:\IdentificationService\bin\IdentificationService.exe //US//IdentificationService --Install=D:\IdentificationService\bin\IdentificationService.exe --Description= Identification Service --Jvm="C:\Program Files (x86)\\Diginet\java\bin\server\jvm.dll" --Classpath=D:\IdentificationService\lib --StartMode=jvm --StartClass=br.com..digis.DiginetIdentificationService --StartMethod=start --StartParams=start --StopMode=jvm --StopClass=br.com..digis.DiginetIdentificationService --StopMethod=stop --StopParams=stop --LogPath=D:\IdentificationService\logs --StdOutput=auto --StdError=auto
net start IdentificationService

我的问题是每次执行 IdentificationService 时都会显示“解析命令行时出错”。

我试图用双引号将所有参数括起来。结果相同。

我尝试使用原始的 prunsrv.exe 而不重命名它。结果相同。

我错过了什么?

4

2 回答 2

1

尝试通过环境变量设置参数

set SERVICE_NAME=CsvToXmlService
set PR_INSTALL=%cd%\prunsrv.exe
set PR_DESCRIPTION=CsvToXml Service

REM Service log configuration
set PR_LOGPREFIX=%SERVICE_NAME%
set PR_LOGPATH=%cd%
set PR_STDOUTPUT=%cd%\stdout.txt
set PR_STDERROR=%cd%\stderr.txt
set PR_LOGLEVEL=Error

REM Path to java installation
set PR_JVM=C:\Program Files\Java\jre7\bin\server\jvm.dll
set PR_CLASSPATH=%cd%\target\app.jar

REM Startup configuration
set PR_STARTUP=auto
set PR_STARTMODE=jvm
set PR_STARTCLASS=ru.misterparser.csvtoxmlservice.Main
set PR_STARTMETHOD=start

REM Shutdown configuration
set PR_STOPMODE=jvm
set PR_STOPCLASS=ru.misterparser.csvtoxmlservice.Main
set PR_STOPMETHOD=stop

REM JVM configuration
set PR_JVMMS=256
set PR_JVMMX=1024
set PR_JVMSS=4000
set PR_JVMOPTIONS=-Duser.language=RU;-Duser.region=ru

REM Install service
prunsrv.exe //IS//%SERVICE_NAME%

sc start %SERVICE_NAME%
于 2017-03-12T07:41:31.507 回答
1

将 exe 重命名回 prunsrv 并使用完全相同的参数运行它(第一个 exe ofc 除外)

于 2019-07-16T20:55:59.453 回答