windows下通过winsw将jar包注册为系统服务(指定编码为UTF-8)

406 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第40天,点击查看活动详情


@[toc]


一、下载winsw

二进制可执行文件下载地址: repo.jenkins-ci.org/releases/co… 本项目启动简单案例:链接: pan.baidu.com/s/1jIXutKfJ… 提取码:xoql

二、放置jar包

将需要启动服务的jar包,放在与winsw的bin木同级目录下; 并且创建winsw启动的log日志的存放文件夹; 在这里插入图片描述

三、配置启动信息

先打开bin目录,里面的目录如图下图。 在这里插入图片描述 打开里面的Winsw.xml配置文件,配置项目部署的名称,以及jar包。log日志存放目录等信息; 在这里插入图片描述

四、启动服务

打开项目的bin目录。双击里面的install.tat,即可部署项目在Windows服务中; 卸载服务使用的是unistall.bat,双击即可卸载;

大家打开install.tat即可看到里面只是一个shell脚本而已,真正起到作用的是Winsw.exe的,加上这两个只是避免了每次都要在cmd黑窗口执行的烦恼;

Winsw.exe install
Winsw.exe start

五、在服务中查看服务是否启动成功

打开Windows的服务列表,查看是否有刚才启动的服务。 在这里插入图片描述

六、调用服务是否成功

打开浏览器,查看请求http://localhost:8080/start/test 在这里插入图片描述

七、指定编码格式

<startargument>-Dfile.encoding=UTF-8</startargument>

完整配置文件

<service>
	<id>start</id>
	<name>start</name>
	<description>测试部署服务</description>
	<executable>java</executable>
	<arguments>-jar -jar D:\start\demo-0.0.1-SNAPSHOT.jar</arguments>
	<startargument>-Dfile.encoding=UTF-8</startargument>
		<logpath>D:\start\logs</logpath>
      <log mode="roll-by-size">
          <sizeThreshold>10240</sizeThreshold>
          <keepFiles>8</keepFiles>
      </log>
</service>

八、启动服务一般

异常

  1. 在Winsw.xml配置文件中,的启动的jar包的路径与实际存放的jar包的目录不一致;
  2. 在Winsw.xml配置文件中写的logs日志的位置,与实际的logs日志的存放的目录位置不一致;
  3. 选用项目名称已经存在于服务中了;
  4. 项目选用的端口号已经被占用了。