Springboot打成war包并在tomcat中运行的部署方法

  1. 配置pom.xml文件

首先,在pom.xml文件中需要将打包方式修改为war,同时需要将内嵌的Tomcat去除。具体方法如下:

<!-- 修改打包方式为war -->
<packaging>war</packaging>

<!-- 去除内嵌的tomcat依赖 -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

<!-- 增加Tomcat的依赖 -->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-logging-juli</artifactId>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>
  1. 编写启动类

在Spring Boot中,需要编写一个启动类,来配置整个应用的上下文环境。具体方法如下:

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

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

    /**
     * 重写configure方法,打成war包后才能在外部的Tomcat容器中部署
     */
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }
}
  1. 打包并部署

在完成以上两步配置后,可以通过运行以下命令对应用进行打包:

mvn package

执行该命令后,会在target目录下生成一个.war文件。将该文件上传到Tomcat的webapps目录下,并重启Tomcat即可访问在线上环境中运行应用。

示例一:

假如目标应用的名称为demo,则上传到Tomcat之后,可以通过以下地址访问该应用:

http://localhost:8080/demo/

示例二:

假如目标应用的名称仍然为demo,但要部署到Tomcat中的ROOT目录,即成为Tomcat的默认应用,则将.war文件重命名为ROOT.war,上传到Tomcat之后,可以通过以下地址访问该应用:

http://localhost:8080/

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Springboot打成war包并在tomcat中运行的部署方法 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • Apache Hudi异步Clustering部署操作的掌握

    下面我来详细讲解“Apache Hudi异步Clustering部署操作的掌握”的完整攻略。 什么是Apache Hudi异步Clustering Apache Hudi是一个开源的面向大数据场景的数据湖技术,它提供了可靠的数据管理和数据湖操作工具。而Apache Hudi异步Clustering是Apache Hudi中的一种数据湖操作方式,能够将数据从源…

    Java 2023年6月2日
    00
  • 手把手教你如何搭建SpringBoot+Vue前后端分离

    手把手教你如何搭建SpringBoot+Vue前后端分离 1. 准备工作 在开始搭建前,需要先安装并配置好以下软件: Java8及以上版本 Node.js Vue CLI 4 Git 2. 搭建后端环境 2.1. 创建SpringBoot项目 使用IntelliJ IDEA 或者其它集成开发环境,选择 Spring Initializr 创建一个新的 Spr…

    Java 2023年5月19日
    00
  • MyBatis 如何简化的 JDBC(思路详解)

    大家好,这里是网站的作者,请听我详细讲解一下 “MyBatis 如何简化的 JDBC(思路详解)” 的完整攻略。 1. MyBatis简介 MyBatis是一款非常流行的轻量级Java持久层框架,它可以将JDBC的操作进行封装,简化了JDBC代码的编写,使得开发人员不用再关注过多的JDBC细节,而是更加专注于业务逻辑的处理。 2. MyBatis如何简化JD…

    Java 2023年5月20日
    00
  • Java的Struts框架报错“ActionMappingException”的原因与解决办法

    当使用Java的Struts框架时,可能会遇到“InvalidTokenException”错误。这个错误通常由以下原因之一起: 令牌无效:如果令牌无,则可能会出现此错误。在这种情况下,需要检查令牌是否有效以解决此问题。 配置错误:如果配置文件中正确配置,则可能会现此错误。在这种情况下,检查文件以解决此问题。 以下是两个实例: 例 1 如果令牌无效,则可以尝…

    Java 2023年5月5日
    00
  • 消息中间件ActiveMQ的简单入门介绍与使用

    消息中间件ActiveMQ的简单入门介绍与使用 什么是ActiveMQ ActiveMQ是一款开源的消息中间件,它采用Java编写,完全支持JMS规范,是Apache软件基金会的顶级项目之一。ActiveMQ可以通过网络将不同应用程序之间异构的数据进行传输,是一种比较通用的解决方案。 ActiveMQ的基本概念 在了解如何使用ActiveMQ之前,有几个基本…

    Java 2023年5月20日
    00
  • 2019年成功入职阿里:阿里的三套Java研发岗面试题总结

    “2019年成功入职阿里:阿里的三套Java研发岗面试题总结”攻略 背景 很多人梦想能够进入阿里巴巴这样的大公司,但是阿里的面试难度比较大,尤其是对于Java研发岗位的面试,更是要求很高。本文将总结出阿里Java研发岗最近几年出现的面试题及解答方法,希望大家能够有所收获。 面试题总结 阿里Java研发岗的面试题主要分为三套: 基础知识类 这套面试题主要考察面…

    Java 2023年5月19日
    00
  • SpringBoot 中常用注解及各种注解作用

    来详细讲解一下SpringBoot中常用注解及各种注解作用的攻略。 1. @SpringBootApplication 这是一个复合注解,包含了@Configuration、@EnableAutoConfiguration和@ComponentScan三个注解。 @Configuration:表示这是一个配置类,可以用来替代xml配置文件。 @EnableA…

    Java 2023年5月15日
    00
  • 基于Spring整合mybatis的mapper生成过程

    下面是基于Spring整合MyBatis的Mapper生成过程的完整攻略。 1. 准备工作 在开始整合MyBatis和Spring之前,确保已经完成以下工作: 已经拥有一个Spring项目并且能够正常运行; 已经添加了MyBatis和MyBatis-Spring的依赖; 已经配置了MyBatis的数据源、事务管理和SqlSessionFactory等内容。 …

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