Java 如何使用ProLUN将文档4J server单机版计划为windows服务?

Java 如何使用ProLUN将文档4J server单机版计划为windows服务?,java,procrun,apache-commons-daemon,documents4j,Java,Procrun,Apache Commons Daemon,Documents4j,我一直试图使用procrun将documents4j安排为windows服务进行RTF到PDF转换,但它不断抛出以下错误: com.documents4j.throwables.ConversionInputException: The sent input is invalid at com.documents4j.util.Reaction$ConversionInputExceptionBuilder.make(Reaction.java:159) ~[documents4j-cl

我一直试图使用procrun将documents4j安排为windows服务进行RTF到PDF转换,但它不断抛出以下错误:

com.documents4j.throwables.ConversionInputException: The sent input is invalid
    at com.documents4j.util.Reaction$ConversionInputExceptionBuilder.make(Reaction.java:159) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at com.documents4j.util.Reaction$ExceptionalReaction.apply(Reaction.java:75) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at com.documents4j.ws.ConverterNetworkProtocol$Status.resolve(ConverterNetworkProtocol.java:97) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at com.documents4j.job.WebserviceRequestFutureWrapper.handle(WebserviceRequestFutureWrapper.java:48) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at com.documents4j.job.WebserviceRequestFutureWrapper.get(WebserviceRequestFutureWrapper.java:38) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at com.documents4j.job.WebserviceRequestFutureWrapper.get(WebserviceRequestFutureWrapper.java:13) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at com.documents4j.job.AbstractFutureWrappingPriorityFuture.run(AbstractFutureWrappingPriorityFuture.java:78) ~[documents4j-client-standalone-0.3-SNAPSHOT-shaded.jar:na]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) [na:1.8.0_31]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) [na:1.8.0_31]
    at java.lang.Thread.run(Unknown Source) [na:1.8.0_31]
我已经为procrun创建了以下bat文件

@echo关闭
设置自我=%CD%
设置服务\u NAME=PCNService
设置服务URL=
设置PR\u INSTALL=%SELF%\prunsrv.exe
设置PRMGR\u安装=%SELF%\prumgr.exe
@REM服务日志配置
设置PR\u LOGPREFIX=%SERVICE\u NAME%
设置PR\u LOGPATH=%SELF%\logs
设置PR\u STDOUTPUT=auto
设置PR_STDERROR=auto
设置PR_LOGLEVEL=Debug
@Java安装的REM路径
设置JAVA\u HOME=C:\Program Files\JAVA\jdk1.8.0\u 05
设置PR\u JVM=%JAVA\u HOME%\jre\bin\server\JVM.dll
设置PR_类路径=%SELF%\documents4j-server-standalone-0.3-SNAPSHOT-shade.jar
@REM JVM配置
设置PR_JVM选项=
@REM启动配置
设置JETTY_START_CLASS=com.documents4j.standalone.StandaloneServer
设置PR_启动=自动
设置PR_STARTMODE=java
设置PR\u STARTCLASS=%JETTY\u START\u CLASS%
设置PR_STARTMETHOD=start
设置PR_起始图=http://localhost:9998
@REM停堆配置
设置PR_STOPMODE=java
设置PR\u STOPCLASS=%JETTY\u START\u CLASS%
设置PR_STOPMETHOD=stop
设置PR_参数=
如果“x%1x”==“xx”转到显示用法
设置服务\u CMD=%1
转移
如果“x%1x”==“xx”转到checkServiceCmd
:checkServiceCmd
如果/i%SERVICE\u CMD%==安装转到安装
如果/i%SERVICE_CMD%==删除转到doDelete
如果/i%SERVICE\u CMD%==停止转到doStop
如果/i%SERVICE\u CMD%==开始转到doStart
if/i%SERVICE\u CMD%==监视器转到域监视器
如果/i%SERVICE\u CMD%==运行转到多伦
if/i%SERVICE\u CMD%==控制台转到doConsole
回显未知参数“%SERVICE\u CMD%”
:displayUsage
回声。
echo用法:service.bat安装/启动/停止/删除
转到终点
:安装
rem安装该服务
echo正在安装服务“%service\u NAME%”。。。
%PR\u INSTALL%//是//%SERVICE\u NAME%^
--DisplayName=“%SERVICE\u NAME%”^
--Install=“%PR\u Install%”^
--Startup=“%PR\u Startup%”^
--LogPath=“%PR\u LogPath%”^
--LogPrefix=“%PR\u LogPrefix%”^
--LogLevel=“%PR\u LogLevel%”^
--StdOutput=“%PR\u StdOutput%”^
--StdError=“%PR\u StdError%”^
--JavaHome=“%JAVA\u HOME%”^
--Jvm=“%PR_Jvm%”^
--JvmMs=“”^
--JvmMx=“”^
--jvms=“”^
--JVM选项=“%PR_JVM选项%”^
--Classpath=“%PR\u Classpath%”^
--StartMode=“%PR\u StartMode%”^
--StartClass=“%PR\u StartClass%”^
--StartMethod=“%PR\u StartMethod%”^
--StartParams=“%PR\u StartParams%”^
--StopMode=“%PR\u StopMode%”^
--StopClass=“%PR\u StopClass%”^
--StopMethod=“%PR\u StopMethod%”^
--StopParams=“%PR\u StopParams%”^
--类型交互
如果未安装错误级别1转到
echo无法安装“%SERVICE\u NAME%”服务。请参阅登录%PR\u日志路径%
转到终点
:doStart
rem正在启动服务
回显正在启动服务“%service\u NAME%”。。。
%PR\u INSTALL%//ES//%SERVICE\u NAME%
如果没有错误,1级转到开始
echo无法启动“%SERVICE\u NAME%”服务。请参阅登录%PR\u日志路径%
转到终点
:doStop
请停止服务
echo正在停止服务“%service\u NAME%”。。。
%PR\u INSTALL%//SS//%SERVICE\u NAME%
如果不是错误级别1转到停止
echo无法停止“%SERVICE\u NAME%”服务。请参阅登录%PR\u日志路径%
转到终点
:多德莱特
rem删除该服务
echo正在删除服务“%service\u NAME%”。。。
%PR\u INSTALL%//DS//%SERVICE\u NAME%
如果不是错误级别1转到删除
echo无法删除“%SERVICE\u NAME%”服务。请参阅登录%PR\u日志路径%
转到终点
:软骨瘤
rem监控服务
回显正在监视服务“%service\u NAME%”。。。
echo在系统托盘中查找服务。您可以在GUI中修改属性。
%PRMGR\u安装%//MR//%SERVICE\u名称%
转到终点
:多伦
rem运行该服务
回显正在运行服务“%service\u NAME%”。。。
%PR\u安装%//RS//%SERVICE\u名称%
转到终点
:doEdit
rem编辑服务
回显编辑服务“%service\u NAME%”。。。
%PRMGR\u安装%//ES//%服务\u名称%
转到终点
:doConsole
作为控制台应用程序运行服务的rem
%PR\u INSTALL%//TS//%SERVICE\u NAME%
转到终点
:已安装
回显已安装的服务“%Service\u NAME%”
转到日志记录
转到终点
:开始
回显服务“%Service\u NAME%”已启动
转到日志记录
转到终点
:删除
回显服务“%Service\u NAME%”已被删除
转到终点
:停止
回显服务“%Service\u NAME%”已停止
转到日志记录
转到终点
:记录
回显指登录%PR\u日志路径%
:结束

您是否阅读了使用Word作为Windows服务运行文档4j的相关信息

documents4j作为Windows服务一起运行时可能会出现故障 使用MS Office转换。请注意,MS Office没有正式注册 支持在服务上下文中执行。当作为服务运行时,MS Office始终以MS Window的本地服务帐户启动,该帐户 不配置桌面。不过,微软Office希望桌面能够 为了正常运行而存在。没有这样的桌面配置, MS Office将正确启动,但无法读取任何输入文件。在里面 为了允许MS Office在服务上下文中运行,有两种 建议采用第一种方法的可能方法:

在32位系统上,创建文件夹C:\Windows\System32\config\systemprofile\Desktop。在64位系统上, 创建文件夹C:\Windows\SysWOW64\config\systemprofile\Desktop

更多信息可在MSDN上找到。 您可以操纵MS Window的注册表,以便使用本地服务以外的其他帐户运行MS Office应用程序 账户这种方法在MSDN上有记录。请注意,这会中断MS Window的沙箱模型,并对 运行MS Office的机器