很多软件希望把开发的Java服务打成安装包,部署在windows 系统上,下面就这个问题讲讲我的做法,虽然看起来很low。
提示:以下是本篇文章正文内容,下面案例可供参考
这里使用一款工具nssm.exe。
NSSM是一个服务封装程序,它可以将普通exe程序封装成服务,使之像windows服务一样运行。同类型的工具还有微软自己的srvany,不过nssm更加简单易用,并且功能强大。它的特点如下:
支持普通exe程序(控制台程序或者带界面的Windows程序都可以)
安装简单,修改方便
可以重定向输出(并且支持Rotation)
可以自动守护封装了的服务,程序挂掉了后可以自动重启
可以自定义环境变量
这里面的每一个功能都非常实用,使用NSSM来封装服务可以大大简化我们的开发流程了。
开发的时候是一个普通程序,降低了开发难度,调试起来非常方便
安装简单,并且可以随时修改服务属性,更新也更加方便
可以利用控制台输出直接实现一个简单的日志系统
不用考虑再加一个服务实现服务守护功能
下载好你需要jdk,通过maven等工具将java服务打成jar包
下载好nssm.exe工具
将打好的jar包放到JDK的/bin路径下。提示:使用裁剪过的jdk可以使你的安装包更小哟。
代码如下(示例):
java -jar MyService.jar --server.port=8081
同样放到\bin路径下,用.bat保存,可以指定JVM 的参数,编码格式等。
代码如下(示例):
nssm.exe install "\bin路径\jar启动脚本" 服务名 默认开机自启动 nssm.exe start 服务名
将其写到安装脚本里,就可以将java 服务启动到windows后台了
windows 下制作安装包,需要你对bat脚本语言有基本的了解。
windows 安装有很多问题,比如说端口占用,安装别的组件,安装数据库等,如何使用安装包工具等。如果急需了解,可以留言催更哦。