日期:2014-05-17  浏览次数:20869 次

利用javaService 注册java 程序为windows 服务

一、? 利用javaService 注册java 程序为windows 服务

[1] 下载javaService

访问网址http://javaservice.objectweb.org/ 下载windows 版本的javaService 文件,我下载的是JavaService-2.0.10.rar ,目前最新的版本就是“2.0.10 ”。

[2] 安装javaService

解压我们下载下来的javaServices 到一个目录,我是解压到目录“D:/software/JavaService-2.0.10 ”下(解压到任何目录都可以,最好别解压到中文目录,省的出现问题

[3] 编写定时关机代码,见第二章的定时关机代码

1)?? 具体代码参加第二章,类的名字为:

com.test.timer.TimerShutDownWindows

2)?? 把编写后的java 文件导出为class 的形式,把导出的类放到目录“D:/software/JavaService-2.0.10/classes/com/test/timer ”下。也就是把导出的com 包放到

D:/software/JavaService-2.0.10/classes” 目录下。

[4] 注册java 程序为windows 服务

进入“D:/software/JavaService-2.0.10 “目录,执行如下命令:

JavaService.exe -install MyShutDownService "%JAVA_HOME%"/jre/bin/server/jvm.dll -Djava.class.path="%JAVA_HOME%"/lib/tools.jar;D:/software/JavaService-2.0.10/classes -start com.test.timer.TimerShutDownWindows

其中“-install “后面的参数为服务的名称,“-start ”参数后边是要启动的类名,“Djava.class.path ”后面参数中的

D:/software/JavaService-2.0.10/classe ”地址是我的“TimerShutDownWindows ”类存放的路径,实际应用中修改为自己的classPath 即可。

? 这里需要注意几点:

1)?? %JAVA_HOME%jdk 目录,如果没有配置jdk 目录,则替换为jdk 的实际绝对地址。

2)?? -Djava.class.path 是必须的,因为服务启动的时候无法访问系统的CLASSPATH 变量,所以必须在这里声明;如果jar 比较多,为避免写的命令过长,我们可以使用“-Djava.ext.dirs=jars 所在目录”参数。

3)?? 服务添加之后,可以在命令行中敲入“services.msc ”命令来查看所有服务,