Spring Boot 项目发布到 Tomcat 服务器的操作步骤

作者:mrr 时间:2023-10-28 09:39:05 

第 1 步:将这个 Spring Boot 项目的打包方式设置为 war。


<packaging>war</packaging>

SpringBoot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉。

即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写:


<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-web</artifactId>
 <exclusions>
   <exclusion>
     <artifactId>log4j-over-slf4j</artifactId>
     <groupId>org.slf4j</groupId>
   </exclusion>
   <exclusion>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-tomcat</artifactId>
   </exclusion>
 </exclusions>
</dependency>
<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-tomcat</artifactId>
 <scope>provided</scope>
</dependency>

第 2 步:提供一个 SpringBootServletInitializer 子类,并覆盖它的 configure 方法。

我们可以把应用的主类改为继承 SpringBootServletInitializer。或者另外写一个类。


@SpringBootApplication
public class Application extends SpringBootServletInitializer {
 /**
  * 如果要发布到自己的Tomcat中的时候,需要继承SpringBootServletInitializer类,并且增加如下的configure方法。
  * 如果不发布到自己的Tomcat中的时候,就无需上述的步骤
  */
 @Override
 protected SpringApplicationBuilder configure(
     SpringApplicationBuilder application) {
   return application.sources(Application.class);
 }
 public static void main(String[] args) {
   SpringApplication.run(Application.class, args);
 }
}

第3步:测试

使用内嵌的Tomcat测试:

进入项目的根目录,输入mvn spring-boot:run,开启项目。

在浏览器中输入

http://localhost:8080/stumybatis/likename?name=m

结果如下:


[{"id":1,"name":"tom","sumScore":null,"avgScore":null,"age":25}]

使用发布到自己的Tomcat测试:

先进入项目根目录,执行 mvn package ,将项目打包为war包。

然后将target 目录中的SpringBootTest-0.0.1-SNAPSHOT.war文件复制到你所安装的tomcat目录中webapps目录中。然后去掉工程后边的后缀。

然后开启Tomcat,并在浏览器中输入:http://localhost:8088/SpringBootTest/stumybatis/likename?name=m(我的tomcat的端口修改为了8088)

结果如下:


[{"id":1,"name":"tom","sumScore":null,"avgScore":null,"age":25}]

以上所述是小编给大家介绍的Spring Boot 项目发布到 Tomcat 服务器的操作步骤,希望对大家有所帮助.

标签:spring,boot,tomcat
0
投稿

猜你喜欢

  • Java详细分析LCN框架分布式事务

    2022-10-17 15:49:08
  • c# 实现IComparable、IComparer接口、Comparer类的详解

    2022-07-23 00:25:56
  • C++ 多线程之互斥量(mutex)详解

    2023-12-20 18:51:32
  • C#编程中使用设计模式中的原型模式的实例讲解

    2023-07-18 07:47:10
  • Java多线程之ThreadLocal原理总结

    2023-11-02 22:58:36
  • Android中WebView图片实现自适应的方法

    2021-11-15 06:37:32
  • Java中final变量使用总结

    2022-09-29 08:32:00
  • Android编程之分辨率处理相关代码段合集

    2022-09-28 07:03:16
  • MyBatis查询结果resultType返回值类型的说明

    2021-10-25 21:37:39
  • Android实现购物车功能

    2022-08-14 19:06:55
  • java实现实时通信聊天程序

    2023-10-18 09:08:06
  • Java规则引擎Easy Rules的使用介绍

    2023-05-04 01:42:57
  • 详解怎么用Java的super关键字

    2021-10-06 08:11:14
  • Kotlin标准函数与静态方法应用详解

    2022-01-21 10:45:33
  • springboot如何读取配置文件到静态工具类

    2023-11-28 04:44:54
  • WindowsForm实现TextBox占位符Placeholder提示功能

    2023-03-18 12:57:44
  • 详解Java中LinkedHashMap

    2022-05-23 16:24:45
  • Android实现列表数据按名称排序、中英文混合排序

    2022-10-18 15:15:57
  • SpringBoot中属性赋值操作的实现

    2022-05-04 18:10:30
  • Google Kaptcha 框架实现登录验证码功能(SSM 和 SpringBoot)

    2023-01-14 09:21:38
  • asp之家 软件编程 m.aspxhome.com