javaserivce将可运行jar包注册为windows服务自动运行

发布于 2016-09-06  43.1k 次阅读


把java jar包注册成windows系统服务,

1、可以先把java程序已exe形式发布,然后根据windows提供的相应方法去注册服务

2、apache 的procrun,tomcat用的也是这个

3、javaservice,以这个为例,一个32位系统,一个64位系统

JavaService 64位

http://download.forge.ow2.org/javaservice/JavaService_2_0_10-amd64.zip

JavaService 32位

http://download.forge.ow2.org/javaservice/JavaService-2.0.10.zip

 

 

一、将jar包以单个jar形式打包

 

二、javaservice解压到同目录

 

三、安装服务

C:\disconf>JavaService.exe -install disconf "c:/progra~1/java/jre1.8.0_92/bin/server/jvm.dll" -Djava.class.path="c:/progra~1/java/jre1.8.0_92/lib/tools.jar;C:/disconf/client.jar" -Xms32m -Xmx64m -start com.embracesource.config.Client -out "c:/disconf/out.log" -err "c:/disconf/err.log"

 

安装成功后提示
The disconf automatic service was successfully installed

 

四、安装失败

查看windows日志,提示

The LoadLibrary function failed for the following reason: 找不到指定的模块。

Could not load the Java Virtual Machine.

 

 

这个问题很蛋疼,搞了一个下午, google也没答案,

解决方法

拷贝%JAVA_HOME%/bin/msvcr100.dll 文件到C:\Windows\System32  如果是64位系统还要拷贝到C:\Windows\SysWOW64