您的位置:首页 > 移动开发

发布Java程序为Windows服务[Java Service Wrapper]

2012-02-28 09:04 155 查看
下载Windows版本http://nchc.dl.sourceforge.net/sourceforge/wrapper/wrapper-windows-x86-32-3.2.3.zip

☆假设项目放在目录project文件夹下,发布的包放在project/lib下,日志文件放在project/log下,配置文件放在project/conf下,运行的jar为myjar.jar。

☆在下载包后解压,将Java Service Wrapper包中src/bin/的App.bat.in,InstallApp-NT.bat.in,UninstallApp-NT.bat.in和bin/下的wrapper.exe放在project目录下,把后缀.in去掉。【App.bat(可以直接运行程序),InstallApp-NT.bat(安装成Windows服务),UninstallApp-NT.bat(卸载Windows服务)】。修改App.bat,InstallApp-NT.bat,UninstallApp-NT.bat中的set
_WRAPPER_CONF="%_REALPATH%conf\wrapper.conf"。(可以用相对路径,比如:set _WRAPPER_CONF_DEFAULT=../conf/wrapper.conf)

☆把Java Service Wrapper包中lib目录下的Wrapper.DLL,wrapper.jar拷贝到project/lib下,在原来的运行的jar文件myjar.jar中的MANIFEST.MF增加Class-Path: 其他jar wrapper.jar wrapper.dll。

☆把Java Service Wrapper包中src/conf目录下的wrapper.conf.in放到project/conf下,去掉后缀.in。然后修改为

wrapper.java.classpath.1=dist/wrapper.jar

wrapper.java.classpath.2=dist/myjar.jar

wrapper.java.library.path.1=dist

#原来程序运行的入口

wrapper.app.parameter.1=myapp.mainClass

wrapper.logfile=log/wrapper.log

wrapper.console.title=MyApp服务

wrapper.ntservice.name=MyApp服务

wrapper.ntservice.displayname=MyApp服务

wrapper.ntservice.description=MyApp服务
比如:

# Java Classpath (include wrapper.jar) Add class path elements as

# needed starting from 1

wrapper.java.classpath.1=../lib/wrapper.jar

#wrapper.java.classpath.2=../lib/abc.jar

wrapper.java.classpath.2=../lib/spserver.jar

wrapper.java.classpath.3=../lib/swt.jar

wrapper.java.classpath.4=../lib/swt-debug.jar

wrapper.java.classpath.5=../lib/w_base.jar

wrapper.java.classpath.6=../lib/sqljdbc.jar

wrapper.java.classpath.7=../bin/.

# Java Library Path (location of Wrapper.DLL or libwrapper.so)

wrapper.java.library.path.1=../lib

# Java Bits. On applicable platforms, tells the JVM to run in 32 or 64-bit mode.

wrapper.java.additional.auto_bits=TRUE

# Java Additional Parameters

#wrapper.java.additional.1=

# Initial Java Heap Size (in MB)

wrapper.java.initmemory=32

# Maximum Java Heap Size (in MB)

wrapper.java.maxmemory=96

# Application parameters. Add parameters as needed starting from 1

wrapper.app.parameter.1=com.qh.client.StartClient

wrapper.app.parameter.2=../bin/

☆然后直接运行App.bat,如果运行成功的话,然后就可以执行InstallApp-NT.bat发布成Windows服务,然后就可以设置成开机自启动了,不怕别人启动的时候自己的程序没有执行。另外如果在project/bin当成bat的目录的话没这么麻烦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: