【问题标题】:Apache prunsrv: error parsing command lineApache prunsrv:错误解析命令行
【发布时间】:2017-02-21 18:37:47
【问题描述】:

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

正如我在互联网上发现的,我已将 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 而不重命名它。结果相同。

我错过了什么?

【问题讨论】:

    标签: windows procrun


    【解决方案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%
    

    【讨论】:

    • 这样可以工作,但是 procrun 网站说我可以使用单行命令来获得相同的结果。这不是正在发生的事情。不管怎样,谢谢你的回答。
    【解决方案2】:

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

    【讨论】:

    • 那是很久以前的事了。从那时起,该服务使用 C# 重写并且运行良好。无论如何,我在找到的旧备份上尝试了您的建议。 “错误解析命令行”仍然存在。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 2017-09-08
    • 1970-01-01
    • 2023-03-22
    • 2011-03-03
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    • 2010-11-27
    相关资源
    最近更新 更多