一、修改打包形式

在pom.xml里设置

<packaging>war</packaging>

二、移除springboot内嵌入式tomcat插件

在pom.xml里找到spring-boot-starter-web依赖节点,在其中添加如下代码:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><!-- 移除嵌入式tomcat插件 --><exclusions><exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion></exclusions>
</dependency>

三、添加servlet-api的依赖

<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope>
</dependency>

四、修改springboot的启动类,并重写初始化方法

原有的启动类代码:

@SpringBootApplication
public class JuApplication    {public static void main(String[] args) {SpringApplication.run(JuApplication.class, args);}
}

打war包时的启动类代码:

@SpringBootApplication
public class JuApplication  extends  SpringBootServletInitializer   {@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder){return builder.sources(JuApplication.class);}public static void main(String[] args) {SpringApplication.run(JuApplication.class, args);}
}

五、最后一步打包部署

方法一:打开idea的右侧maven快捷操作栏,点开项目名称下的lifecycle按钮,找到对应的package命令,双击package,即可在控制台看到springboot执行打包操作,如果没有问题的话,最后会正常结束,生成的war包通常在项目根目录下的target文件夹下

方法二:

在项目根目录下(即包含pom.xml的目录),在命令行里输入: 
mvn clean package即可, 等待打包完成,出现[INFO] BUILD SUCCESS即为打包成功。 
然后把target目录下的war包放到tomcat的webapps目录下,启动tomcat,即可自动解压部署。

1.找到本地的Tomcat安装目录

2.打开webapps,将生成的war包放到webapps目录下

3.打开Tomcat的bin目录,找到startup.bat批处理命令,双击启动Tomcat,如果启动成功,可以访问http://localhost:8080/进行验证

4.最后在浏览器中输入:http://localhost:[端口号]/[打包项目名]/

ps:在本人打war包的过程中,一个困扰很久的问题是静态资源的路径引入,比如css,jpg,js等,对于静态资源访问路径,网上看到好多种方式,没有一一验证,但我所使用的绝对路径的方式,在开发工具中运行访问成功,打成 war 包丢到服务器上运行访问成功。

spring-boot项目打war包并部署到本地的tomcat容器相关推荐

  1. Spring Boot项目打war包(idea:多种方式)

    Spring Boot项目打war包(idea:多种方式) 前言:在idea中,经常会对web项目进行打jar包或者war包.jar包在Java环境中运行,war包在Tomcat服务器中跑.对于打wa ...

  2. spring boot 项目打成war包部署到服务器

    这是spring boot学习的第二篇了,在上一篇已经整合了spring boot项目了,如果还有小伙伴没有看得可以先去看第一篇 基础整合spring boot项目 到这里的小伙伴应该都是会整合基本的 ...

  3. IDEA下spring boot项目打包war包部署外部tomcat问题

    第一步,修改配置pom.xml文件 <packaging>war</packaging> <dependency> <groupId>org.sprin ...

  4. Spring boot如何打war包发布到tomcat

    前言: 平时在使用java做项目开发时,首先想到利用框架来提升开发效率,和提高可维护性.选择spring可以使用ssm(spring框架,springMVC,mybatis),而且企业中应用也比较广泛 ...

  5. Spring Boot项目微信云托管入门部署

    Python微信订餐小程序课程视频 https://edu.csdn.net/course/detail/36074 Python实战量化交易理财系统 https://edu.csdn.net/cou ...

  6. 2022全新docker安装mysql镜像、tomcat镜像及打包IDEA项目为war包并部署到docker上成功运行

    Docker部署web项目 一.推荐提前准备的软件 1.IDEA2022 2.xshell7 3.xftp7 4.Navicat Premium 15 二.docker上安装mysql 1.先从网上拉 ...

  7. Java工作笔记-使用Maven创建Spring Boot并生成war包外部tocamt运行

    目录 基本概念 代码与实例 基本概念 目前发现很多Java项目都是直接使用Maven作项目管理,在Maven中配置依赖,比如Spring boot完成操作,在经历了这么多操作后,还发现大家喜欢把Mav ...

  8. jar注册成服务器,Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动(示例代码)...

    背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...

  9. 将JavaWeb项目打出war包并部署到tomcat

    war包:一般是一个web应用,例如网站:jar包:常用的java类 下面说一下打war包的方式: 一,项目打包 两种方式,一种使用eclipse自带的打包方式,另一种使用的Maven的. 第一种:e ...

最新文章

  1. 异形隔离java剧情_异形隔离攻略 系统上手教程 全剧情流程图文攻略(41)
  2. Kafka 安装配置及快速入门
  3. 马斯克成功把人从太空送回地球!历时64天,SpaceX首次载人任务圆满收工
  4. python中读取文件内容-深入学习python解析并读取PDF文件内容的方法
  5. java bs架构书_基于BS架构的图书借阅管理模块的分析与设计(JSP+MySQL)(新品)
  6. 【深度学习】深入理解LSTM
  7. js中“||”和“”的高级用法 js,与或运算符 || 妙用
  8. ubuntu 系统分配固定 ip--
  9. java多态子父类的构造器、成员变量、方法的调用关系
  10. python集合类型中的元素是有序的_python基础篇:很有意思的数据类型,集合(set) 常用去去重...
  11. 老师,对不起,我古诗背串了...
  12. AppCan移动平台,开发者是这样用的……
  13. VS2018+TensorFlow安装
  14. MongoDB数据库(使用、基本操作)
  15. 亚马逊显示在售商品为0怎么办?亚马逊新品货还没到就在售了
  16. 品牌做小红书投放,究竟选择KOL还是KOC?
  17. 从“冰山理论”看无代码开发与用户的科学分工
  18. 快速学习一门新技术的工作原理(十步学习法来自软技能)
  19. AV1:谷歌微软等联合打造的新视频压缩技术
  20. 中国单硬脂酸甘油酯(GMS)行业现状分析与发展方向展望报告2021年版

热门文章

  1. 前端学习(1661):前端系列实战课程之获取点击位置
  2. 前端学习(1364):学生档案信息管理6
  3. 玩转oracle 11g(52):Oracle导出导入表(.sql、.dmp文件)两种方法
  4. 线性系统的基本理论与运算
  5. java学习(162):同步对象锁
  6. JQ ajax解决跨域
  7. Python-100 | 练习题 01 列表推导式
  8. 计算机管理器win8.1,没事折腾?Win8.1文件管理器设置几招
  9. python loadtxt_Python 数据科学入门2:Matplotlib
  10. .data()与.detach()的区别