前面两篇已经能实现客户端控制服务端了,但是每次服务端都要启动程序也确实挺烦的,所以这篇就将把服务端打造成Windows服务,开机自动启动。因为是自己写的程序,没有广告,没有后门,内存占用极少,所以不用担心会降低计算机性能什么的。
要想做成windows的服务,首先把服务端打包生成XX.jar文件,然后需要用到Java Service Wrapper来将java程序做出windows服务。
1.到 官网 下载Java Service Wrapper,区别32跟64,根据自己计算机来。我下了3.5.25跟3.5.26都有时间限制,就是所谓的试用期限,后来在网上找了个3.5.9的32位的 ,需要的到这里下 下载
2.然后选择一个盘新建文件夹,名字随意,不用中文,比如:service。然后在service文件夹里面再创建bin,conf,logs,lib四个文件夹,并把打包的服务端jar包同样放到service目录下。
3.然后把刚才下的Java Service Wrapper解压出来,在里面的src\bin和src\conf(demo那个可以不用)目录里面的所以文件全部复制到你自己建的bin和conf目录下,并把.in后缀去掉,还有把跟src同级的bin目录下的wrapper.exe文件也复制到你的bin目录下。还有把解压出来的lib目录下的wrapper.jar和wrapper.dll复制到你的lib目录下,如果有第三方jar包也放这里。
4.配置wrapper.conf文件。
配置了JAVA_HOME的直接这样就可以了,没配置的就写java的安装路径
wrapper.java.command=%JAVA_HOME%/bin/java
jar包的路径,除了service根目录下的jar(就是自己打包的jar)和lib下的wrapper.jar以外,有多少jar就写多少引用,wrapper.java.classpath.1wrapper.java.classpath..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=../service.jar
你的java类的路径,我的是这样的,没有建包所以就一个类
# Application parameters. Add parameters as needed starting from 1
wrapper.app.parameter.1=Service
服务名称
# Name of the service
wrapper.name=ServiceForPC1
显示名称
# Display name of the service
wrapper.displayname=ServiceForPC2
描述
# Description of the service
wrapper.description=ServiceForPC3
到这里基本就配置完了。然后运行你的bin中的App.bat进行测试,如果正常进入监听状态则测试通过,可以点击InstallApp-NT.bat来安装服务,也可点击UninstallApp-NT.bat来卸载服务。
就这样吧,祝大家玩得开心。