首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将java应用程序启动为windows服务时出错

将java应用程序启动为windows服务时出错
EN

Stack Overflow用户
提问于 2014-11-10 07:10:46
回答 4查看 15.6K关注 0票数 1

我已经下载了commom工具,并与一个java应用程序一起使用。我已经创建了一个bat文件,如下所示

代码语言:javascript
运行
复制
set SERVICE_NAME=sample
set PR_INSTALL=D:\commons-daemon-1.0.15-bin-windows-signed\prunsrv.exe
 
REM Service log configuration
set PR_LOGPREFIX=%SERVICE_NAME%
set PR_LOGPATH=D:\logs
set PR_STDOUTPUT=D:\logs\stdout.txt
set PR_STDERROR=D:\logs\stderr.txt
set PR_LOGLEVEL=Error
 
REM Path to java installation
set PR_JVM=C:\Java\jre7\bin\client\jvm.dll
set PR_CLASSPATH=D:\commons-daemon-1.0.15-bin-windows-signed\Daemon.jar
 
REM Startup configuration
set PR_STARTUP=auto
set PR_STARTMODE=jvm
set PR_STARTCLASS=com.SomeService
set PR_STARTMETHOD=start
 
REM Shutdown configuration
set PR_STOPMODE=jvm
set PR_STOPCLASS=com.SomeService
set PR_STOPMETHOD=stop
 
REM JVM configuration
set PR_JVMMS=256
set PR_JVMMX=1024
set PR_JVMSS=4000
set PR_JVMOPTIONS=-Duser.language=DE;-Duser.region=de

在cmd中,我使用命令安装服务。

代码语言:javascript
运行
复制
prunsrv.exe //IS//sample

之后,名为sample的服务在服务列表中可用,当我尝试启动它时,它显示:

Windows无法在本地计算机上启动示例。有关更多信息,请查看系统事件日志。如果这是非Microsoft服务,请与服务供应商联系并参考特定于服务器的服务。 错误码1

运行时,更新了

代码语言:javascript
运行
复制
prunsrv.exe //ES//sample

它显示了

代码语言:javascript
运行
复制
The data area passed to a system call is too small.
Failed to start service

有人能帮我吗?

EN

回答 4

Stack Overflow用户

发布于 2015-06-02 16:13:48

我也有同样的问题。在我的例子中(不完全是您的),问题在于jvm.dll路径,因为变量%JAVA_HOME%有空格。为了解决这个问题,我修改了赋值

代码语言:javascript
运行
复制
set CG_PATH_TO_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll

代码语言:javascript
运行
复制
set CG_PATH_TO_JVM="%JAVA_HOME%\jre\bin\server\jvm.dll"

仅此而已。

此外,还可以使用以下命令检查变量赋值:

代码语言:javascript
运行
复制
prunmgr//ES//yourservicename_as_in_windows
票数 5
EN

Stack Overflow用户

发布于 2016-10-05 16:07:10

帮助其他人进行故障排除。

如果你看:https://commons.apache.org/proper/commons-daemon/procrun.html

有一个参数:

代码语言:javascript
运行
复制
--LogPath

默认为:

代码语言:javascript
运行
复制
%SystemRoot%\System32\LogFiles\Apache

在那里生成一个日志文件,其中包含一些额外的错误消息和可能有用的信息。原始发问者将日志路径更改为:

代码语言:javascript
运行
复制
set PR_LOGPATH=D:\logs

因此,在他们的情况下,寻找合适的事情是合适的。

票数 3
EN

Stack Overflow用户

发布于 2016-01-12 01:17:07

我还收到了这样一条神秘的错误消息:“传递给系统调用的数据区域太小了。”在Win 8/Server 2008上的启动日志或Windows/System32 32/LogFiles/Apache/ logs中没有进一步的信息。

我重新命名了我的包,并且--StartClass和--StopClass参数是错误的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26838517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档