文章目录

  • 前言
  • 如何发布项目
    • 第一种 jar方式部署(默认方式)
    • 第二种 war包方式运行
      • 关于文件名问题
  • 关于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方法
@Overrideprotected 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部署更加简单,可以参考

  • docker基础(14):如何手动发布项目
  • docker-compose(3):入门与实战

springboot进阶(11):springboot项目的两种部署方式相关推荐

  1. React基础学习笔记(一)-react前端项目的两种搭建方式

    1.运行环境准备 需要先进行react项目的运行环境nodeJS的安装,具体安装流程可以参考: windows版本的安装配置帮助文档:https://www.cnblogs.com/liuqiyun/ ...

  2. 思科新版EI CCIE 企业网软定义中的VxLAN分布式网关两种部署方式

    思科新版EI CCIE 企业网软定义中的VxLAN分布式网关两种部署方式VXLAN集中式网关部署的不足:第一,同一二层网关下跨子网的数据中心三层流量都需要经过集中三层网关转发.第二,由于采用了集中三层 ...

  3. SpringBoot项目的两种打包方式分析

    点击上方关注 "终端研发部" 设为"星标",和你一起掌握更多数据库知识 作者: 枕边书 来源: zhenbianshu.github.io Part1前言 最近 ...

  4. eclipse maven项目 class类部署不到tomcat下_Spring Boot的两种部署方式:jar包和war包

    前言 Spring Boot可以通过在pom中配置spring-boot-maven-plugin插件打包,支持两种打包部署方式jar包部署和war包部署. jar包部署 默认的打包方式是jar包,或 ...

  5. pytorch checkpoint_pytorch的两种部署方式 web部署与c++部署

    知乎地址:  https://zhuanlan.zhihu.com/c_1101089619118026752 作者:   小哲 github:  https://github.com/lxztju/ ...

  6. Myeclipse中Tomcat的两种部署方式

    一.在Myeclipse软件中部署 1. 在Myeclipse中,创建好工程后,在Myeclipse菜单栏中选择 Windows -> Preferences -> Myeclipse - ...

  7. K8S部署分布式文件存储minio两种部署方式

    一. 分布式文件存储系统有很多,比如hadoop的HDFS和FastDFS.今天部署minio文件系统. 二. 分布式文件存储minio GitHub官网和minio官网都有详细的文档 MinIO下载 ...

  8. 快速搭建Springboot项目的两种方式!!

    大家好,我是雄雄,欢迎关注微信公众号[雄雄的小课堂]. 前言 Springboot的特点就是简单.快速和方便,使用idea不到一分钟就可以快速搭建springboot项目,并且,在这里,你不用写spr ...

  9. SpringBoot2.1.5 (5)---快速构建SpringBoot 项目的两种方式

    快速构建SpringBoot项目的两种方发 一. 通过 http://start.spring.io/ 在线构建 二. 通过IntelliJ IDEA 快速构建 通过 http://start.spr ...

最新文章

  1. 【Android 插件化】Hook 插件化框架 ( 从 Hook 应用角度分析 Activity 启动流程 一 | Activity 进程相关源码 )
  2. 用户画像-撸一部分代码啊
  3. Python argparse模块基本用法
  4. Python自动化运维工具-Fabric部署及使用总结
  5. 计算机与操作系统基础小结
  6. Qt笔记-对connect中第5个进行多组实验(对信号与槽进一步认识)
  7. Python 用for循环实现猜数字游戏
  8. Python之subprocess模块
  9. vim自己主动缩进配置
  10. 在LINUX系统中安装KVM虚拟化
  11. 吐血整理!必须收藏,44条代码优化细节
  12. jquery-ajax请求.NET MVC 后台
  13. 超详细的测试理论基础知识
  14. [转]架构必备:Rate limiting 的作用和常见方式
  15. python爬取京东图书_Python抓取京东图书评论数据
  16. 互联网营销的技巧方法和套路!
  17. 深入理解计算机系统简述
  18. 产业分析:光伏产业发展路线图
  19. ACM-ICPC 2018 南京赛区网络预赛 J Sum(欧拉线性筛+思维)
  20. 持久加密USB安装kali

热门文章

  1. Tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  2. 【算法练习】MVP争夺战
  3. stm32/gd32电动车控制器资料
  4. Pytorch 中的 non_blocking
  5. R语言使用xgboost包拟合xgboost回归模型、使用predict函数和训练好的模型进行预测推理、计算回归模型的评估指标MAE、MSE、RMSE
  6. 让3D建模新手快速入门Zbrush的16个技巧
  7. 网络工程防雷接地实训装置
  8. S1_B_Inna and New Matrix of Candies
  9. 为啥谷歌浏览器打不开微信公众平台?
  10. 简单好用的 SemVer: 如何命名你的应用版本