使用JavaService生成windows服务

来源:互联网 发布:桌子高度 知乎 编辑:程序博客网 时间:2024/06/07 11:36

所需:JavaService.exe,Java JDK 32位,源程序中引用的外部Jar包

步骤:

1、将自己的java类打成Jar包

2、将JavaService.exe、源程序生成的Jar包、所有用到的外部Jar包放到同一目录下,目录路径不要有中文

3、运行CMD,切换到上面的目录

4、编写生成服务的命令:格式为:JavaService -install 服务名 jvm.dll文件路径  -Djava.class.path=jar文件路径(如有多个用;隔开) -start 启动类 -stop 停止类 -out 输出重定向 -err 错误信息重定向 -current 工作目录 -depends 依赖的服务 -description 服务

其中,Jvm.dll在Java JDK安装路径下,例:D:\Java\jdk1.6.0_38\jre\bin\server\jvm.dll

-Djava.class.path是各jar包存放的路径,例:-Djava.class.path="%CD%\duke.jar;%CD%\commons-cli-1.1.jar;%CD%\commons-io-1.2.jar;%CD%\rabbitmq-client.jar;%CD%\postgresql-9.1-903.jdbc4.jar"    

%CD%为当前路径,哥包之间用分号隔开

-start启动方法,格式为-start 包名.类名 -method 方法名,例:-start RecService.ManageService -method StartService

-stop停止方法,格式为-stop 包名.类名 -method 方法名,例:-stop RecService.ManageService -method StopService

-out输出日志,格式为-out 输出日志存放目录,例:-out "%CD%\stdout.log"

-err错误日志,格式为-err 错误日志目录,例:-err "%CD%\stderr.log"

-cuurent工作目录,例:-current "%CD%"

-depends依赖的服务,-description描述信息:此两个可用auto参数赋值

本人完整的命令:JavaService -install ReceiveService "D:\Java\jdk1.6.0_38\jre\bin\server\jvm.dll" -Djava.class.path="%CD%\duke.jar;%CD%\commons-cli-1.1.jar;%CD%\commons-io-1.2.jar;%CD%\rabbitmq-client.jar;%CD%\postgresql-9.1-903.jdbc4.jar" -start RecService.ManageService -method StartService -stop RecService.ManageService -method StopService -out "%CD%\stdout.log" -err "%CD%\stderr.log" -current "%CD%" -auto

对64位JDK测试多次不行,最后选择32位的,成功。

 

0 0
原创粉丝点击