使用JavaService让java程序加载为winNT系统服务

54powermanhttp://54powerman.blog.sohu.com

1 下载javaServicehttp://javaservice.objectweb.org/获得windows的zip压缩版,文件名形如:JavaService-x.x.xx.zip,其中x.x.xx为版本号,当前版本为JavaService-2.0.10.zip,请使用最新版。

2 安装将JavaService-2.0.10.zip解压缩到c:/JavaService目录下。(其实任意目录下都可以)

3 编写java类import java.io.*;import java.text.*;import java.util.*;

public class Test{public static void main(String[] args) throws Exception{PrintWriter out=new PrintWriter(new FileWriter(“d://javaTest//test.log”,true),true);SimpleDateFormat df=new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);out.println(“服务启动在:”+df.format(new Date()));while(true){out.println(“现在时间是:”+df.format(new Date()));Thread.sleep(1000*5);}}}保存为任意目录,如:”d:/JavaTest/Test.java”,并编译为Test.class;

4 进入c:/JavaService目录,执行如下命令:JavaService.exe -install MyService “%JAVA_HOME%”/jre/bin/server/jvm.dll -Djava.class.path=”%JAVA_HOME%”/lib/tools.jar;d:/javaTest -start Test其中-install 开关后面的参数是要添加的服务名;-start开关后面的参数是要启动的java类名;这里-Djava.class.path后面参数中的d:/javaTest是我的Test.class所在路径,实际应用中应该添加你的CLASSPATH。运行后控制台显示“The MyService automatic service was successfully installed”表示安装成功。

需要注意的问题:(1) %JAVA_HOME%为JDK目录,如果你没有设置,这里用jdk的绝对地址替代;(2) -Djava.class.path是必须的,因为服务启动的时候无法访问系统的CLASSPATH变量,必须在这里显示指明;如果jar比较多,为避免写的命令行过长,可以使用”-Djava.ext.dirs=jar所在的目录”参数。(3) 服务添加成功以后,为自动启动类型,如需更改,需要自行在服务管理器(services.msc)中修改。

5 测试:运行net start MyService启动服务;检查d:/javaTest/test.log文件,数据一直在更新;确认无误后,运行net stop MyService关闭服务;

游手好闲会使人心智生锈

使用JavaService让java程序加载为winNT系统服务

相关文章:

你感兴趣的文章:

标签云: