首页 > 技术文章 > windows发布spring boot jar 项目添加windows服务自动启动

q149072205 2020-11-30 18:02 原文

一.先在windows下安装java

1下载:

  官方的(需要注册):https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html  

  第三方: https://dl.pconline.com.cn/download/1117483.html?qq-pf-to=pcqq.group

2.安装过程全是下一步(略过)

3.设置环境变量

添加变量:JAVA_HOME   值 C:\Program Files\Java\jdk1.8.0_121  如下图

 

 

 4.修改Path变量,添加 %JAVA_HOME%\bin 和 %JAVA_HOME%\jre\bin 如下图

 

5.cmd下输入java -version查看是否安装成功

 

 

 

 

 二.配置jar文件成为系统服务自动启动

   打包成jar文件就略过了,直接用maven命令:mvn clean package

1。先下载windows服务程序winsw:

    打包好的(我下的这个)http://repo.jenkins-ci.org/releases/com/sun/winsw/winsw/2.3.0/

 

 

  官方的有最新版本的:https://github.com/winsw/winsw/releases

2。把winsw-2.3.0-bin.exe 与spring boot编译的 jar文件放在同一个目录下

3。把winsw-2.3.0-bin.exe 修改成你的服务名称如“mySiteProjectService.exe"

4. 新建目录mySiteProjectServiceLogs用来存放日志,如下图

 5。 新建mySiteProjectService.xml文件 内容如下:

<service>
  <id>mySiteProjectService</id>
  <name>mySiteProjectService</name>
  <description>this service run java spring boot jar site</description>
  <logpath>%BASE%\mySiteProjectServiceLogs</logpath>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
  <executable>java</executable>
  <arguments>-jar "%BASE%\mySiteProject.web-1.0-SNAPSHOT.jar"</arguments>
</service>

6。在CMD下安装服务命令:mySiteProjectService.exe install

7。在CMD启动服务命令:net start mySiteProjectService

启动时会在MySiteProjectServiceLogs目录下生成日志文件,如下图 

 

 8。这下可以在浏览器访问spring boot 部署的jar站点了

9。查看启动成功的日志,因为windows的cmd没有Linux中的tail命令一样查看日志的功能,但powershell中有,启动powershell,如下图

 10。在PowerShell下查看日志命令: Get-Content C:\wwwroot\testService\mySiteProjectServiceLogs\mySiteProjectService.out.log -wait

   只要访问就能看到滚动的日志了。

    

 

附:winsw命令与说明.text

推荐id共exe文件一样

<service>
  <id>mySiteProjectService</id>
  <name>mySiteProjectService</name>
  <description>this service run java spring boot jar site</description>
  <logpath>%BASE%\mySiteProjectService</logpath>
  <log mode="roll-by-size">
    <sizeThreshold>10240</sizeThreshold>
    <keepFiles>8</keepFiles>
  </log>
  <executable>java</executable>
  <arguments>-jar "%BASE%\mySiteProjectService.web-1.0-SNAPSHOT.jar"</arguments>
</service>


安装服务
mySiteProjectService.exe install
卸载服务
mySiteProjectService.exe uninstall
启动服务
net start mySiteProjectService
停止服务
net stop mySiteProjectService

查看网站日志powerShell:
 Get-Content C:\wwwroot\testService\mySiteProjectServiceLogs\mySiteProjectService.out.log

 

推荐阅读