用javaservice将java程序发布为windows服务

huang   发表时间:2009-10-08 14:14:24   分类:IT学院   浏览( )   评论( )   收藏日志
添加到网摘:

上网查了一下怎么才能让java应用变成nt服务,也就是要自动运行没有界面,网上用的比较多的方法大致有三个

1.开源项目javaservice(http://javaservice.objectweb.org/)

2.开源项目java service wrapper(http://sourceforge.net/projects/wrapper/)

3.利用jbuilder或其他工具将java类打包成exe文件,然后用微软提供的开发包中的文件将exe发布成服务

我首先排除了3,因为3实在是太麻烦,而且限制比较多

1和2我都实验了一下,说来惭愧,java service wrapper虽然得到了很多牛人的认可,但是我按照文档上的配置方法怎么都不行,总是提示找不到我要执行的main方法

无奈只好用javaservice了,不过这个用起来真的很容易,也很方便

我是这么做的,首先当然是写程序,代码我就不往上贴了,我写了两个类,其中一个包含main方法,我利用jdbc连接oracle数据,通过timer和timertask,以一定的时间间隔访问数据库,提取特定标记的数据,将这些数据写到一个文本文件中.将两个类写完后生成两个.class文件,分别是a.class和b.class其中a中包含main方法

因为用到了oracle的jdbc驱动所以要把oracle的driver包一起打包

命令如下:

jar cvf test.jar a.class b.class oracle

其中oracle是从oracle的lib文件夹下classess12.jar内提取出来的oracle文件夹

打包成功后生成test.jar

http://forge.objectweb.org/project/download.php?group_id=137&file_id=6015下载

JavaService-2.0.10.zip ,解压后得到javaservice和其他一些批处理文件,那些批处理都是例子,比如发布jboss的和发布tomcat的

将javaservice复制到test.jar的同一目录下新建一个文本文件另存为.bat,当然你也可以修改例子用的bat文件

文件一(安装服务)

JavaService -install testservice C:\jdk1.4\jre\bin\server\jvm.dll -Djava.class.path=E:\test\test.jar -Xms64M -Xmx128M -start a   -err err.log -current e:\test

具体的含义就不解释了,大家可以去看javaservice的文档,这里需要说明的是start后面是带静态main方法的类,文档写的很清楚

文件二(卸载服务)

javaservice -uninstall testservice

执行文件一即可将其发布为windows的服务

执行文件二可卸载

安装成功后,服务的状态是停止,启动类型为自动

启动一下就ok了

正在读取日志的评论数据,请稍后……
正在加载日志评论签写框,请稍后……
溜溜show会员登录
正在载入溜溜show会员登录...
溜溜show 日志归档
溜溜show 最新评论
{$SideComment}
溜溜show 最新留言
{$SideGB}
溜溜 阿里妈妈广告