springboot进阶(11):springboot项目的两种部署方式_springboot 部署方式-程序员宅基地

技术标签: springboot  

前言

springboot项目开发完成后续,需要部署到服务运行。
springboot项目运行有两种方式,一种是jar包(官方推荐),一种是war包。

如何发布项目

第一种 jar方式部署(默认方式)

  1. 创建一个springboot 项目, 选择springboot web组件。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 创建一个HelloController
package com.it2.springbootweb01;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class HelloController {
    

    @GetMapping("/sayHello")
    public String sayHello(){
    
        return "hello";
    }
}

在这里插入图片描述
3. 打包项目
在这里插入图片描述
4. 找到刚刚打包的jar包
在这里插入图片描述
5. 进入到jar文件所在的目录运行。(在linux系统下运行命令一样,切换到jar所在目录,并执行java -jar命令)

java -jar ./springboot-web01-0.0.1-SNAPSHOT.jar

在这里插入图片描述

  1. 测试访问http://localhost:8080/hello/sayHello
    在这里插入图片描述

第二种 war包方式运行

继续用刚刚创建的工程,进行小的调整。

  1. 将启动类继承SpringBootServletInitializer
    在这里插入图片描述
  2. 重写configure方法
    在这里插入图片描述
@Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    
        return builder.sources(你自己的启动类名称.class);
    }
  1. 修改pom文件的打包方式
<packaging>war</packaging>

在这里插入图片描述
4. 再来打包
在这里插入图片描述
5. 将war文件复制到tomcat的webapps目录下,启动tomcat 即可。
http://localhost:8080/springboot-web01-0.0.1-SNAPSHOT/hello/sayHello
在这里插入图片描述

关于文件名问题

看到这项目运行,访问路径还加了版本号,明显很扎眼。解决办法有两种

  • 方法一 在pom文件配置打包名称(推荐)
<!--指定文件打包名称-->
        <finalName>springboot-web01</finalName>

在这里插入图片描述
在这里插入图片描述
再次将打包后的文件复制到tomcat的webapps目录下,并启动tomcat,访问地址:
http://localhost:8080/springboot-web01/hello/sayHello
在这里插入图片描述

  • 方法二 将打包文件复制到tomcat的webapps目录下,然后手动改名。
    操作略。

关于springboot线上部署

我们打包和部署虽然,很方便,但是在linux系统上,我们最起码还要安装jdk,配置redis等操作。这样在服务器部署仍然要花费比较多的时间。
小项目(只有几台或者单台):
可以使用docker部署即可。
大项目(微服务架构+服务器比较多):
可以采用docker+k8s的模式进行部署。
单体的项目:
直接docker搞定。
其实上面的这个简单的springboot项目,才linux上使用docker部署更加简单,可以参考

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u011628753/article/details/123931630

智能推荐

谁说六月不能飞雪?-程序员宅基地

文章浏览阅读769次。 6月18日,羊群在雪地里觅食。 当日,受冷空气影响,新疆哈密巴里坤草原普降雨加雪,这场雨雪有效缓解了巴里坤草原的旱情。新华社发(朱正华 摄) 6月18日,哈密市白石头乡的一位牧民在雪地里行走。新华社发(朱正华 摄)

Python 程序员给上路初学者的3点忠告_python给初学者忠告-程序员宅基地

文章浏览阅读315次。在你学习编程的过程中,是否有过以下经历,或正在面临类似的局面:网上找了很多资料,不知道从哪里看起买了本书,过了很久也没有看完第一章开始还能跟着写几行代码,后来突然就看不懂了也看了些教程和视频,似乎明白了,但还是没法自己写代码入门了很多次,每次过两个月就又全忘了对于初学者,尤其是自学者,太多问题可能成为你编程之路上的坎,一不小心就从入门到放弃了。你需要一个明确的学习目标很多人会说,我有目标啊,就是要学会编程,然后还要找份高薪的程序员工作。这是一种目标,但不是明确的、具体的、可执行的学习目标。_python给初学者忠告

odoo13 订单模板设置_阿里国际站运费模板设置浅析-程序员宅基地

文章浏览阅读734次。阿里国际站目前产品分为RTS以及定制产品,今天重点讨论下RTS产品发布时运费模板设置,国际站跨境物流的履约方式有以下几种:商业快递DHL, UPS, FedEx等专线产品 空运+目的地派送邮政产品&外国邮政等多式联运类产品具体每条运力线路详情可以参考下面这张图:了解了运力线路详情,下面可以配置运费模板,运费模板要选择合适的运力线路配置,不然前台运费显示过高是会影响产品转化的。注意点1:发布..._阿里国际站 如何设置静默下单

JavaScript 案例之 楼梯滚动特效(jQuery实现)_js 阶梯动画-程序员宅基地

文章浏览阅读524次。想必大家都用过京东,在京东首页里面有个很常见的特性:就是 ** 楼梯特效 **。_js 阶梯动画

五个月成为一名大数据工程师,需要具备什么条件?_五个月能否成为优秀程序员-程序员宅基地

文章浏览阅读669次。大数据现在愈演愈烈,很多人都想学习大数据,但是又不知道如何下手,作者今天就总结了学大数据应掌握的知识体系。下面我们就来看看吧。很多初学者,对大数据的概念都是模糊不清的,大数据是什么,能做什么,学的时候,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:199427210,有大量干货(零基础以及进阶的经典实战)分享给大家,并且有清华大学毕业的..._五个月能否成为优秀程序员

从James Gosling看有多少人是因为薪资低离开公司-程序员宅基地

文章浏览阅读766次。谷歌从来是不缺牛人的地方,现在又有牛人加盟。据国外媒体报道,被中国程序员戏称为“高司令”的Java创始人詹姆斯·高斯林(James Gosling)周一发表博客文章称,他已经加入了谷歌公司。[img]http://dl.iteye.com/upload/attachment/450423/cf25e4e1-9232-3acd-aabf-b9272e91cfb5.jpg[/img]...

随便推点

让SYD8821 SYD8811更好的下载仿真-程序员宅基地

文章浏览阅读727次。**对于在KEIL中SYD8821的下载不了的解决办法:**因为SYD8821的GPIO31和SWD的DATA线复用,所以如果上电后程序把GPIO31设置为GPIO的模式,那么仿真器将连接不上SYD8821。另外还有一种情况也会造成连接不上SYD8821,因为M0内核的SWD模块能够正常工作的前提条件是MCU的clock必须要存在,如果在休眠的时候把MCU的clock关闭了也会造成SWD连接不上,比如使用了如下方式进行休眠:SystemSleep(POWER_SAVING_RC_OFF, FLAS

深入理解Java的重载和重写-程序员宅基地

文章浏览阅读105次。深入理解Java的重载和重写转载于:https://www.cnblogs.com/whxjava/p/10787539.html_java重载的深入理解

用Python玩转PPT!-程序员宅基地

文章浏览阅读4.1k次,点赞3次,收藏29次。作者 |陈熹来源| 早起Python今天本文将基于第三方库pptx,详细讲解如何使用Python操作Office全家桶最后一位——PPT。安装pptx是一个非标准库,需要在命令行中安..._python ai ppt

Python3.8安装dlib(anaconda虚拟环境下)_在pytorch中虚拟环境中怎么安装dlip-程序员宅基地

文章浏览阅读3.2k次,点赞22次,收藏24次。anaconda 安装dlib, 附带下载地址_在pytorch中虚拟环境中怎么安装dlip

django-redis Error 111 connecting to 127.0.0.1:6379.-程序员宅基地

文章浏览阅读1.1k次。在 setting.py 中设置完了 django-redis 之后,在 view.py 中使用出现 error:Error 111 connecting to 127.0.0.1:6379.-> 参考出现这个问题是因为服务器中的 redis sercive 没找到或者没开启如果没安装服务器的话,安装 redis-serverUbuntu: sudo apt-get in..._sentry.exceptions.invalidconfiguration: error 111 connecting to 127.0.0.1:63

OpenGL基础-程序员宅基地

文章浏览阅读164次。20' 抛物面,法向量 10' 抛物面 #define DELTA 0.1 #define PI2 2*3.14159 double parabolicSurf[36][10][3]; void MakeParabolicSurface() { for (int a = 0; a < 36; a++) { for (int ..._在自由端约束条件下计算hermite样条曲线