spring boot项目如何采用war在tomcat容器中运行

下面是Spring Boot项目如何部署到Tomcat容器中运行的攻略:

一、将项目打成war包

Spring Boot项目通常打成jar包,但是要部署到Tomcat容器中需要将其打成war包。如果使用Maven构建项目,则只需在pom.xml文件中添加以下代码:

<packaging>war</packaging>

这样项目就会被打成war包了。

二、添加Tomcat依赖

在pom.xml文件中添加以下依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
</dependency>

该依赖指定了Tomcat的启动器,设置作用域为provided表示运行时不会打包到war包,而是由Tomcat容器提供。

三、创建ServletInitializer类

在Spring Boot项目的根目录下创建一个继承自SpringBootServletInitializer类的ServletInitializer类,并重写configure方法,如下所示:

package com.example.demo;

import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

public class ServletInitializer extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(DemoApplication.class);
    }

}

该类的作用是在Tomcat容器启动时加载SpringBootServletInitializer类,并初始化SpringBoot应用程序。

四、配置打包方式

在application.properties或application.yml配置文件中添加以下代码:

spring:
  application:
    name: demo
  jpa:
    hibernate:
      ddl-auto: update
  jackson:
    date-format: yyyy-MM-dd HH:mm:ss
    time-zone: GMT+8
  servlet:
    multipart:
      max-file-size: 10MB
      max-request-size: 10MB
  # 指定war包的部署名称
  jmx.default_domain: demo
  profiles:
    active: prod
  thymeleaf:
    cache: true
  datasource:
    # 数据库配置
  cxf:
    path: /api
    logging:
      pretty:
        max-chars: 0
    swaggerui:
      path: /swagger-ui.html
      version: 3.20.5
      enabled: true
  security:
    oauth2:
      client:
        client-id: xxx
        client-secret: xxx
        access-token-uri: xxx
        user-authorization-uri: xxx
        scope: xxx
        client-authentication-scheme: form
      resource:
        user-info-uri: xxx
        prefer-token-info: true
    # 指定打包方式为war
  packaging: war

五、构建并部署

构建项目并打包成war包:

mvn clean package

将生成的war包复制到Tomcat容器的webapps目录下,启动Tomcat容器,访问http://localhost:8080/demo即可。

示例一:使用Spring Initializr创建项目

  1. 访问Spring Initializr官方网站https://start.spring.io/
  2. 选择Web模块,填写项目的名称和Java版本,并点击Generate按钮
  3. 将项目导入IDE,添加Tomcat依赖,创建ServletInitializer类并重写configure方法,配置打包方式
  4. 构建项目并打包成war包,复制到Tomcat容器的webapps目录下,启动Tomcat容器,访问http://localhost:8080/demo即可

示例二:使用Spring Boot CLI创建项目

  1. 使用命令行工具,输入以下命令创建项目:
spring init --dependencies=web demo
  1. 使用IDE导入项目,添加Tomcat依赖,创建ServletInitializer类并重写configure方法,配置打包方式
  2. 构建项目并打包成war包,复制到Tomcat容器的webapps目录下,启动Tomcat容器,访问http://localhost:8080/demo即可

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring boot项目如何采用war在tomcat容器中运行 - Python技术站

(0)
上一篇 2023年6月2日
下一篇 2023年6月2日

相关文章

  • 终于把 Spring Boot 3.0 写成书了!

    大家好,我是R哥。 我的新书《Spring Boot 3 核心技术与最佳实战》打磨一年多,今天终于上市了,定价 158 元,今天刚上市搞 5 折促销,80 元不到上车,这可能是全网最便宜的时候了,机会难得,想拥抱 Spring Boot 3.0 的不要错过。 文章还没发,已经有老铁粉丝上车了,真爱啊。。。 为什么要学 Spring Boot? Spring …

    Java 2023年4月19日
    00
  • springboot + mybatis配置多数据源示例

    下面就是关于“springboot + mybatis配置多数据源示例”的完整攻略: 1. 添加依赖 在pom.xml文件中添加以下依赖: <dependencies> <!–spring-boot-starter-web是Spring Boot web应用常用依赖 –> <dependency> <groupI…

    Java 2023年5月20日
    00
  • Javabean转换成json字符并首字母大写代码实例

    当我们需要在Java程序中将一个JavaBean对象转化成JSON字符串时,可以使用Json-lib库提供的JSONObject对象来完成。以下是实现JavaBean转换成JSON字符串并且首字母大写的代码示例: 首先,我们需要在项目中引入Json-lib库依赖: <dependency> <groupId>net.sf.json-l…

    Java 2023年5月26日
    00
  • Servlet虚拟路径映射配置详解

    关于”Servlet虚拟路径映射配置详解”的攻略,我将分为以下几个部分: 介绍Servlet虚拟路径的概念 配置Servlet虚拟路径映射的步骤和方法 给出两个示例演示如何配置Servlet虚拟路径映射 1. Servlet虚拟路径的概念 虚拟路径指的是指定在URL中,而不是在磁盘上的路径。对于Servlet来说,在它的URL-pattern中配置的是虚拟路…

    Java 2023年5月20日
    00
  • 一篇文章读懂Java哈希与一致性哈希算法

    一篇文章读懂Java哈希与一致性哈希算法 1. 哈希算法基础 在计算机科学中,哈希算法是将任意长度的消息映射到固定长度的摘要 (或称哈希值) 的函数,也就是根据某种规则,将任意数据映射到指定大小范围的数值上,一般用于唯一性标识、数据校验等场景。 Java提供了多种哈希算法,比如MD5、SHA1、SHA256等,这些哈希算法的实现已经被封装在Java的类库中的…

    Java 2023年5月19日
    00
  • Scratch怎么制作飞机大战? Scratch飞机大战小游戏的实现方法

    制作飞机大战游戏是Scratch入门学习的一个重要部分,以下是从零开始制作Scratch飞机大战小游戏的详细攻略,附带代码示例: 1.背景设置 首先,我们需要设置游戏的背景。在Scatch的界面中,点击“背景”按钮,选择一个适合游戏的背景素材作为游戏背景,可以从Scratch的背景素材库中选择或者上传自己的背景图片。 代码示例: When Green Fla…

    Java 2023年5月30日
    00
  • SpringBoot日志配置操作全面介绍

    Spring Boot日志配置操作全面介绍 Spring Boot提供了强大的日志框架,可以帮助我们记录应用程序的运行状态和错误信息。本文将介绍如何配置Spring Boot日志,包括日志级别、日志输出格式、日志文件等。同时,我们还提供了两个示例,演示如何使用Spring Boot日志框架。 1. 日志级别 在Spring Boot中,我们可以通过配置日志级…

    Java 2023年5月14日
    00
  • 全网最详细Hutool工具详解

    全网最详细Hutool工具详解 Hutool是一个Java工具库,封装了一系列的工具类,包括字符串、集合、日期时间、加密解密、文件、图片处理、网络等等常用工具,简化了Java开发中的常见操作,提高了开发效率。 字符串工具 判断字符串是否为空 String str = null; boolean empty = StrUtil.isEmpty(str);//t…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部