在windows系统上面部署springboot项目并设置其开机启动
前言
最近的项目需要在客户的服务器上面部署一个项目然后进行测试,服务器的系统是windows server2008的,以前部署的项目都是在linux系统上面居多,就算是在windows系统上面自己玩的时候也是通过命令java -jar jar包这种方式跑。但是这样会出现一个问题,dos命令窗口需要一直打开,如果把dos命令窗口不小心关闭了,那就得重新输入命令来启动。。。感觉好麻烦啊,而且老是开着那个小黑窗,总是感觉。。嗯,有点不习惯。于是网上查阅了以往大佬的资料,然后结合自己的实际操作做一下记录,方便自己以后查阅,也希望可以帮帮其他跟我一样的新手哦!
安装
安装jdk
第一步需要的就是在服务器上面安装好jdk,通过命令
java -version
查看是否安装了jdk,我的服务器刚开始是没有安装的,所以我第一步就是安装jdk。
从我的电脑上面把下载好的jdk上传到服务器上面的某个盘下面,然后开始配置环境变量。
配置系统变量
找到系统变量的path,在后面添加上自己jdk的bin目录的路径,记得前面用分号分隔开。
D:\app\Administrator\product\11.2.0\dbhome_1\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\jdk8\bin;
如上就是我的path配置,倒数第二个分号之后的就是我的jdk的bin目录的具体位置。
配置用户变量
找到用户变量的CLASSPATH(没有则新增),在这里添加jdk的lib目录的路径。
C:\jdk8\lib
如上就是我的lib的路径。
验证是否安装成功
输入命令
java -version
可以看到jdk的相关信息
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
出现类似如上信息则证明安装成功
安装WinSW
获取WinSW
WinSW是一个开源项目,程序以及源码可以在Git Hub中下载:https://github.com/kohsuke/winsw/releases
优势:winsw是一个可以将任何应用程序注册成服务的软件

如图,这两个是我们所需要的,我们把它们下载下来到本地。
配置WinSW
把我们下载好的两个文件放到和我们的项目jar同一个目录下面,然后把WinSW.NET4.exe改个名字。
我这里是改成了myServer.exe,同时把sample-minimal.xml也改成和exe文件一样的名字,也就是myServer.xml。
接下来需要对xml文件进行一下编辑,如下。
<configuration>
<!-- 安装成windows服务后的服务名-->
<id>myServer</id>
<!-- 显示的服务名称 -->
<name>myServer</name>
<!-- 服务描述 -->
<description>这是winsw生成的服务,专门用于启动springboot项目</description> <!-- jdk可执行程序的路径,我们已经安装了jdk,只要“java” 即可-->
<executable>java</executable>
<!--参数-->
<arguments> -jar jar包名字</arguments>
</configuration>
注册服务
在myServer.exe 所在目录打开dos命令窗口,为了防止出现问题,最好用管理员身份打开。
输入命令
myServer.exe install
之后进入到电脑的服务找到我们的服务:myServer,右键启动即可。
在windows系统上面部署springboot项目并设置其开机启动的更多相关文章
- mac和linux下使用Docker,部署SpringBoot项目到docker
主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac, ...
- 使用Cloud Toolkit部署SpringBoot项目到服务器
由于我们经常发布项目到测试服,在测试服上调试一些本地无法调试的东西,所以出现了各种打包,然后上传.启动,时间都耗费在这无聊的事情上面了,偶然在网上看到IntelliJ IDEA有 Cloud Tool ...
- SpringBoot入门教程(二)CentOS部署SpringBoot项目从0到1
在之前的博文<详解intellij idea搭建SpringBoot>介绍了idea搭建SpringBoot的详细过程, 并在<CentOS安装Tomcat>中介绍了Tomca ...
- 部署SpringBoot项目jar包到云服务器
前言 做安卓开发也有三四年了,但是对网络这块什么http.tcp/ip之类的一直不理解.并且想自己做一些小项目练练手的时候,数据库直接存在apk里总不是滋味,所以这次站在安卓开发的角度尝试着做一做简单 ...
- docker部署springboot项目
本文介绍一下docker如何部署springboot项目. 前提条件: 1.可以运行jar包的环境 2.机器上已经安装了docker 3.准备部署的springboot的jar包 4.Dockerfi ...
- 利用Dockerfile部署SpringBoot项目
利用Dockerfile部署SpringBoot项目 1.创建一个SpringBooot项目并且打成jar包 2.在Linux中创建一个文件夹,来做docker测试 [root@izwz90lvzs7 ...
- win10安装docker并结合Idea2018.1部署springboot项目
一.准备工作 1..工具:win10,idea2018,maven3.5,jdk8 二.win10安装docker 1.win10安装docker:http://www.runoob.com/dock ...
- Docker快速上手之部署SpringBoot项目
Docker是基于Go语言实现的云开源项目. Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装.分发.部署.运行等生命周期 ...
- Docker下部署springboot项目
1.背景 如何在docker容器环境下部署一个springboot项目? 2.具体步骤 第一步:准备一个springboot项目的xxxx.jar包 jar包中用于测试的一个接口如下 第二步:编写Do ...
随机推荐
- Keystone安装与配置
一.实验目的: 1.掌握OpenStack环境搭建的基础工作 2.掌握keystone的安装与配置方法 3.掌握keystone基础接口的调用方法 二.实验步骤: 1.利用最初创建的快照克隆两台Cen ...
- [译]Vulkan教程(30)深度缓存
[译]Vulkan教程(30)深度缓存 Depth buffering 深度缓存 Introduction 入门 The geometry we've worked with so far is pr ...
- JSON.parse解决Unexpected token ' in JSON at position 1报错
壹 ❀ 引 我们知道JSON.parse能将JSON字符串转变成JS对象,但在一些转换中可能出现Unexpected token ' in JSON at position 1的错误,这是因为被转换 ...
- zabbix通过agent监控linux主机
前言: 前几篇博客分别介绍了通过snmp来进行监控linux主机与windows主机,本篇介绍通过agent客户端来进行系统监控. 环境: server:192.168.249.142 client: ...
- 《2019年小米春季上海 PHP 实习生招聘面试题》部分答案解析
1 丶 Nginx 怎么实现负载均衡 这个还是比较简单 1.轮询 这种是默认的策略,把每个请求按顺序逐一分配到不同的 server,如果 server 挂掉,能自动剔除. 2.最少连接 把请求分配到连 ...
- IT兄弟连 HTML5教程 CSS3揭秘 在HTML文档中放置CSS的几种方式
有很多方法将样式表加入到HTML中,每种方法都有自己的优点和缺点.新的HTML元素和属性已被加入,以允许样式表与HTML文档更简易地组合起来.将样式表加入到HTML中的常用方法有内联样式表.嵌入一张样 ...
- js之好看的鼠标点击-光标特效
1.光标特效 <script src="https://blog-static.cnblogs.com/files/axqa/bubbleCursor.js">< ...
- Sql 中常用时间处理函数
1.Sql 中常用时间处理函数 GETDATE() 返回当前的日期和时间 DATEPART() 返回日期/时间的单独部分 DATEADD() 返回日期中添加或减去指定的时间间隔 DATEDI ...
- 请求时发送OPTIONS请求
最近在用uni-app开发项目时,发现一个之前没注意到的点,当我发送POST请求的时候,在NetWork可以看到在发送正式的POST请求时,会先发送一个OPTIONS请求,OPTIONS请求后才会发送 ...
- Python进阶一
文章目录 异常处理 1 基本用法 2高级用法 逻辑运算符 循环的高级用法 异常处理1 基本用法应对所有情况 try: 1/0 except: print('某原因异常') 应对特定异常情况 try: ...