将java程序运行为Windows服务 - dragonbbc的专栏 - CSDNBlog

来源:百度文库 编辑:神马文学网 时间:2024/04/27 22:11:48
有两种方案,一是通过JavaService来运行,二是用exe4j转换成exe程序,分别举例如下:
一、JavaService
1.首先到http://javaservice.objectweb.org/下载JavaService,最新版本为2.0.10
2.解压JavaService-2.0.10.zip,将JavaService.exe拷到要运行的java程序目录下
3.进入命令行,切换到java程序目录,运行
JavaService -install 服务名 jvm.dll文件路径  -Djava.class.path=jar文件路径(如有多个用;隔开) -start 启动类 -out 输出重定向 -err 错误信息重定向 -current 工作目录 -depends 依赖的服务 -description 服务描述信息
例如:
JavaService -install SampleService "%JAVA_HOME%\jre\bin\server\jvm.dll" -Djava.class.path=%CD%\sample.jar;%CD%\mysql-connector-java-3.0.9-stable-bin.jar -start com.test.SampleService  -out %CD%\stdout.log -err %CD%\stderr.log -current %CD% -depends mysql -description "测试Java服务"
卸载的时候为:
JavaService -uninstall 服务名
例如:
Javaservice -uninstall SampleService
二、通过exe4j将java程序转换为exe程序
1.首先到http://www.ej-technologies.com/download/exe4j/files.php下载exe4j,按向导安装
2.运行exe4j,1.Welcome,直接按Next→2.project type,这里有两个选择,Regular mode和"JAR in EXE" mode,默认即可(如果程序文件较少的话可以用"JAR in EXE",将所有文件打包成一个exe文件),Next
3.输入应用程序的名字和exe输出目录,Next
4.Executable type选Service,Executable name输入要生成的exe文件名,此处可以勾选Icon file,为生成的exe文件选择一个图标,点击Advanced options→设置输出重定向和错误重定向的文件,Next→Description输入服务描述信息,选择启动类型:自动运行(Auto start),手动运行(Start on demand),依赖的服务(Dependencies),Next到第五步Java invocation
5.Class path添加相应的jar文件,然后选择Main class,Next
6.Mininum version,输入最低要求的java版本,如1.3,然后一直Next到完成
7.安装服务,进入命令行,切换到相应目录,运行生成的exe文件加参数 -install,卸载服务为 -uninstall
其它命令:
-install-demand 安装为手动启动模式
-install-auto 安装为自动启动模式
-start 启动服务
-stop 停止服务
-status 服务启动状态
另外"-"也可以换成"--"或者"/"
三、通过exe4j还有另外一种方法,就是打包为GUI application,然后通过instsrv.exe和srvany.exe运行为windows服务,方法为在exe4j第四步的时候Executable type选GUI application,其它同上
安装为服务的方法,将instsrv.exe和srvany.exe拷入相应目录,进入命令行,切换到相应目录
instsrv 服务名 %CD%\srvany.exe
然后打开注册表,展开"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\服务名\Parameters"
新建一字符串值Application,输入生成的exe文件的路径
输入services.msc,找到相应服务,调节启动类型为自动,启动服务,OK!
instsrv.exe和srvany.exe下载地址:
http://www.electrasoft.com/srvany/srvany.exe
http://www.electrasoft.com/srvany/instsrv.exe
附:
exe4j是需要注册的,附上一个Exe4J v4.0.2的注册码:L-FLN#79829-19l6l0uowr1kw#585
将java程序运行为Windows服务 - dragonbbc的专栏 - CSDNBlog 1分钟Java程序快速转换为windows服务运行 - 在路上... - BlogJava 使用程序自动调用ANSYS并运行命令流文件 - 王学福的专栏 - CSDNBlog 一个Dijkstra算法的完整Java程序实现,算法初学者必看! - brokencar的专栏 - CSDNBlog Windows下程序向Linux下移植细节 - wenhm的专栏 - CSDNBlog java排序算法 - 大海的专栏 - CSDNBlog 浅述如何为程序提供二次开发功能 - 1 (原创) - wisenowa的专栏 - CSDNBlog 使用Wrapper来将Java程序转化为NT系统服务 使用Wrapper来将Java程序转化为NT系统服务 JAVA 写的日历程序 - JAVA代码分析 - CSDNBlog 学习Java的30个基本概念 - 刀目村的专栏 - CSDNBlog 善用Wink,将电脑操作录屏为flash - sucence的专栏 - CSDNBlog java正则表达式入门文档 - lenhan12345的专栏 - CSDNBlog 如何迅速成为Java高手 - paulfong的专栏 - CSDNBlog Java学习总论(转) - popkiler的专栏 - CSDNBlog Java 设计模式:代理模式Proxy - hsyj_0001的专栏 - CSDNBlog Java程序员面试宝典 - 飞鸟的专栏 - CSDNBlog java clone方法使用详解 - ilibaba的专栏 - CSDNBlog Effective Java 笔记(二) - ilibaba的专栏 - CSDNBlog Effective Java 笔记(五) - ilibaba的专栏 - CSDNBlog Effective Java 笔记(六) - ilibaba的专栏 - CSDNBlog Effective Java 笔记(七) - ilibaba的专栏 - CSDNBlog Java 设计模式:代理模式Proxy - hsyj_0001的专栏 - CSDNBlog Window Mobile视频会议程序的开发 - enginetanmary的专栏 - CSDNBlog