• 售前

  • 售后

热门帖子
入门百科

SpringBoot工程通过war包方式部署到外部Tomcat容器的操作步骤

[复制链接]
张永峰 显示全部楼层 发表于 2022-1-12 14:37:13 |阅读模式 打印 上一主题 下一主题
SpringBoot工程,默认内置了Tomcat容器,所以可以直接通过main函数启动即可运行。但是,如果想要将SpringBoot打成war包,然后将war部署到外部的Tomcat容器中,则需要进行一些额外的操作。下面是SpringBoot打成war包部署到外部Tomcat容器中的步骤。
   开发环境
  

  • IDEA开发工具
  • Tomcat容器
(1)创建一个SpringBoot工程

采用IDEA开发工具,创建一个maven工程,或者直接创建SpringBoot工程。工程目录结构如下:

 (2)添加依赖

在pom.xml文件中,添加依赖:
  1.     <!-- springboot父工程依赖 -->
  2.     <parent>
  3.         <groupId>org.springframework.boot</groupId>
  4.         <artifactId>spring-boot-starter-parent</artifactId>
  5.         <version>2.3.0.RELEASE</version>
  6.         <relativePath/>
  7.     </parent>
  8.     <!-- 依赖 -->
  9.     <dependencies>
  10.         <!-- web模块依赖 -->
  11.         <dependency>
  12.             <groupId>org.springframework.boot</groupId>
  13.             <artifactId>spring-boot-starter-web</artifactId>
  14.         </dependency>
  15.         <!-- tomcat依赖 war包部署方式时候添加该依赖 -->
  16.         <dependency>
  17.             <groupId>org.springframework.boot</groupId>
  18.             <artifactId>spring-boot-starter-tomcat</artifactId>
  19.             <scope>provided</scope>
  20.         </dependency>
  21.     </dependencies>
  22.     <!-- 插件 -->
  23.     <build>
  24.         <plugins>
  25.             <plugin>
  26.                 <groupId>org.springframework.boot</groupId>
  27.                 <artifactId>spring-boot-maven-plugin</artifactId>
  28.             </plugin>
  29.         </plugins>
  30.     </build>
复制代码
(3)启动类中重写configure方法

在启动类Application中,继承【SpringBootServletInitializer】类,然后重写【configure】方法,并且在该类上面,添加注解【@ServletComponentScan】。
  1. package com.gitee.zblog;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.boot.builder.SpringApplicationBuilder;
  5. import org.springframework.boot.web.servlet.ServletComponentScan;
  6. import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
  7. /**
  8. * @version 1.0.0
  9. * @Description: #启动类
  10. * @Date: 2022/1/10 21:38
  11. * @Copyright (C) ZhuYouBin
  12. */
  13. @SpringBootApplication
  14. @ServletComponentScan  // war包部署时候,添加该注解
  15. public class Application extends SpringBootServletInitializer {
  16.     // war包部署时候,继承SpringBootServletInitializer类,重写configure方法
  17.     @Override
  18.     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  19.         return application.sources(Application.class);
  20.     }
  21.     public static void main(String[] args) {
  22.         SpringApplication.run(Application.class, args);
  23.     }
  24. }
复制代码
(4)编写测试类

接着,编写一个测试控制器类【TestController】,用于启动工程后,测试是否能够访问成功。
  1. package com.gitee.zblog.test;
  2. import org.springframework.web.bind.annotation.GetMapping;
  3. import org.springframework.web.bind.annotation.RequestMapping;
  4. import org.springframework.web.bind.annotation.RestController;
  5. /**
  6. * @version 1.0.0
  7. * @Description: #类描述
  8. * @Date: 2022/1/10 21:44
  9. * @Copyright (C) ZhuYouBin
  10. */
  11. @RestController
  12. @RequestMapping("/test")
  13. public class TestController {
  14.     @GetMapping("/hello")
  15.     protected String demo() {
  16.         return "<h1>Hello World</h1>";
  17.     }
  18. }
复制代码
(5)部署war包到tomcat,启动测试

IDEA中,添加一个【Tomcat】容器,然后将【war】包部署到容器中,最后启动工程。


 启动工程,然后打开浏览器,访问测试地址:http://localhost:6250/zblog/test/hello,访问测试结果如下所示:

 以上,就是如何将SpringBoot工程通过war包的方式部署到外部Tomcat容器中的步骤。



来源:https://blog.caogenba.net/qq_39826207/article/details/122441677
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作