当前很多人对java wrapper service很熟悉,但是对于刚接触这玩意的人来说,要想几分钟内入手有点困难。在此,我把我的一点尝试献给刚入手的童鞋们。
说明: 我查阅了其他“巨人”的博客,因此可能大部分相同,我只是对其他“巨人”忽略或者认为很平常的东西加了上来。闲话不多说了,开始进入正题吧。
1、版本下载:
3个版本,下载免费的community版本。
2、布置:
2.1、准备好你的jar和jar要求的配置文件(即你代码运行所需的所有文件,文件夹等)。
2.2、下载的wrapper版本。
2.3、建一个文件夹,我本地用的是mylocation;
2.4、在mylocation下面创建4个文件夹: bin、lib、conf、logs;
2.5、把wrapper解压,假设放在文件夹wrapper下面;
2.6、把"wrapper/bin“下的wrapper.exe 和 ”wrapper/src/bin“下的App.bat.in 、 InstallApp-NT.bat.in 、 UninstallApp-NT.bat.in拷贝到 ”mylocation/bin“下面,把后面三个的后缀名.in删除掉。
2.7 把“wrapper/lib”下的wrapper.dll 和 wrapper.jar拷贝到“mylocation/lib”下面,并把你生成的jar和程序依赖的文件、文件夹都拷贝到该目录(“mylocation/lib”)下。
2.8 把“wrapper/src/conf”下的wrapper.conf.in拷贝到“mylocation /conf”下,并删除.in后缀。
ok,至此,所有的问题都归属到相应的目录下。对于新手来说,痛苦的是不知道自己的jar文件应该放在那里,况且还有一堆的配置文件。
3、下一步是设置“mylocation/conf”下面的wrapper.conf文件,我的设置如下:
注: 我main函数所在的类名为com.xxx。
wrapper.conf文件修改如下:
3.1 # Java Application
# Locate the java binary on the system PATH:
wrapper.java.command=C:\Program Files\Java\jdk1.7.0_55\bin\java (修改这里,你机子上安装jdk的路径)
3.2 # 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/lib/*.jar
wrapper.java.classpath.2=../lib/server.jar (这个是我程序的jar文件, 大家看到上面有/lib/lib 这个是因为我的程序有一个依赖的文件夹lib,里面包含我要依赖的库)
3.3 # Application parameters. Add parameters as needed starting from 1
wrapper.app.parameter.1=com.xxx (我的main函数所在的类)
3.4 # Name of the service (下面连续三个是你注册为windows服务后显示的服务名,没关系,你爱怎么写就怎么写)
wrapper.name=xyz
# Display name of the service
wrapper.displayname=xyz
# Description of the service
wrapper.description=xyz
好了,到此完结。
运行“mylocation/bin”下面的App.bat ,你就可以看到你的代码在运行了。
运行“mylocation/bin”下的InstallApp-NT.bat,你就可以注册windows服务了。可以在控制面板-->管理-->服务 查看。
运行“mylocation/bin”下的UnInstallApp-NT.bat,你就可以取消windows服务了。也可以在控制面板-->管理-->服务 查看。
到此结束。
我的问题:
如果我的代码是存在GUI模式的,注册为windows服务后,GUI肯定无法起来, 这个如何解决 ??