JAVA程序注册为widows服务

来源:互联网 发布:莽荒纪坐骑进阶数据 编辑:程序博客网 时间:2024/06/08 12:20

使用JavaService:

将JAVA程序注册为widows服务,可开机自启动java程序(windows任务计划也可以).



1.先去下载一个JavaService-2.0.10.zip  , 

网址 http://forge.ow2.org/projects/javaservice/


2.然后解压 ,只需要 JavaService.exe 即可。


3.cmd中输入命令: JavaService.exe -install MyService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path="%JAVA_HOME%\lib\tools.jar;D:\win-services\myservice\lib\sql2005jdbc.jar;D:\win-services\myservice\bin\myservice.jar" -start com.mycompany.Main


可以加上 out 和 err 参数,即 控制台输出 和 错误输出。


原理:其实是把 java JVM 和你的程序整成一个应用,然后制作成服务。

因为程序要用到第三方的jar包比如数据库连接jar包,log4j包等,但这些jar包如果打包到程序包中的话需要另外一个工具来处理,所以不把第三方用到的jar包打包到程序的包中,只需要在-Djava.class.path 参数中把用到的所有jar包路径包含近来即可,另外程序包也需要加到路径中,要不然系统也是巧妇难为无米之炊了。我这里myservice.jar 就是程序的jar包,然后还需要设定入口类我这里是:com.mycompany.Main。这样就建立成立一个服务。


4.进入系统的服务管理


启动MyService


如果需要删除一个服务,cmd命令:JavaService.exe -uninstall MyService



为方便测试写了个bat

打包Java程序,放置JAR和其它文件在相应目录,修改运行bat即可。


echo off


:REDO
set switch=
set /p switch=自写服务-设置(0.查看已启动的服务,1.注册,2.卸载,3.启动,4.停止,5.退出)
if /i "%switch%"=="0" goto LIST
if /i "%switch%"=="1" goto REG
if /i "%switch%"=="2" goto UNI
if /i "%switch%"=="3" goto START
if /i "%switch%"=="4" goto STOP
if /i "%switch%"=="5" goto PATCH_END

:LIST
cls
net start
goto REDO

:REG
cls
F:/SE/JavaService.exe -install MyService "C:/Program Files/Java/jdk1.6.0_45/jre/bin/server/jvm.dll" -Djava.class.path="F:/SE/tools.jar;F:/SE/MyService.jar;F:/SE/ojdbc6.jar;F:/SE/javax.mail.jar" -Xms1000m -Xmx1000m  -start myService.Start  -out "F:/SE/out.log"  -err "F:/SE/err.log"
ECHO 注册自写服务 成功。
sc config MyService start= demand
ECHO 服务改成手动启动 成功。
goto REDO


:UNI
cls
F:/SE/JavaService.exe -uninstall MyService
ECHO 卸载自写服务 成功。
goto REDO

:START
cls
net start MyService
ECHO Java测试程序 启动成功。
goto REDO

:STOP
cls
net stop MyService
ECHO Java测试程序 已经停止。
goto REDO

:PATCH_END
exit


打包日志输出请参考:http://blog.csdn.net/fox009/article/details/5708639

0 0
原创粉丝点击