SpringBoot项目打成War布署在Tomcat的详细步骤

下面为您介绍SpringBoot项目打成War包并部署在Tomcat的详细步骤。

一、将SpringBoot项目转化为War包

在pom.xml文件中修改packaging为war,添加servlet-api依赖。

<packaging>war</packaging>
<!-- 添加servlet-api依赖 -->
<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
</dependencies>

在启动类中继承SpringBootServletInitializer,并重写configure方法。

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Application.class);
    }

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

}

接着在项目的根目录执行以下命令:

mvn clean package

即可在target目录下生成war包。

二、Tomcat部署War包

将生成的war包拷贝到tomcat安装目录的webapps下,重启Tomcat即可。也可以使用Tomcat的Manager页面进行部署,以下为具体操作步骤:

  1. 打开Tomcat的Manager页面,输入用户名和密码。

地址:http://localhost:8080/manager/html
用户名:admin
密码:admin

  1. 选择“WAR file to deploy”,点击“浏览”选择要部署的war包。

  2. 单击“上传”即可上传部署war包。

  3. 选择“Deploy”按钮完成部署。

三、两个示例

示例一:SpringBoot Web项目转化为War包并部署在Tomcat上

假设我们有一个SpringBoot Web项目,项目名称为spring-boot-app,端口为8080,在启动类中使用了@RestController注解。

  1. 在pom.xml文件中修改packaging为war,添加servlet-api依赖。修改后的pom.xml如下:
<groupId>com.example</groupId>
<artifactId>spring-boot-app</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <!-- 添加servlet-api依赖 -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.5</version>
        <scope>provided</scope>
    </dependency>
</dependencies>
  1. 在启动类中继承SpringBootServletInitializer,并重写configure方法。
@SpringBootApplication
@RestController
public class MyApplication extends SpringBootServletInitializer {

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

    @GetMapping("/hello")
    public String hello() {
        return "Hello World!";
    }

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }
}
  1. 执行以下命令,将SpringBoot项目打成war包:
mvn clean package
  1. 将war包复制到Tomcat的webapps目录下:
cp spring-boot-app-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/
  1. 重启Tomcat。

  2. 在浏览器中访问http://localhost:8080/spring-boot-app/hello,即可看到输出结果为“Hello World!”。

示例二:SpringBoot项目和Spring MVC项目部署在同一个Tomcat上

假设我们有一个SpringBoot项目,项目名称为spring-boot-app,端口为8080,在启动类中使用了@RestController注解;同时有一个Spring MVC项目,项目名称为spring-mvc-app,在Controller类中使用了@RequestMapping注解。

  1. 分别将SpringBoot项目和Spring MVC项目打成war包。

  2. SpringBoot项目打成war包的步骤在示例一中已经介绍过,这里不再重复。

  3. Spring MVC项目打成war包的步骤也和示例一类似,需要在pom.xml文件中修改packaging为war,添加servlet-api依赖。

  4. 将war包复制到Tomcat的webapps目录下,例如:

cp spring-boot-app-0.0.1-SNAPSHOT.war /usr/local/tomcat/webapps/
cp spring-mvc-app.war /usr/local/tomcat/webapps/

  1. 启动Tomcat,访问http://localhost:8080/spring-boot-app/hello,和http://localhost:8080/spring-mvc-app/hello,即可分别看到SpringBoot项目和Spring MVC项目的输出结果。

以上就是将SpringBoot项目打成War包并部署在Tomcat的详细步骤,以及两个示例。希望能够对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目打成War布署在Tomcat的详细步骤 - Python技术站

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

相关文章

  • java垃圾回收机制(面试)

    1.1堆空间结构   Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。Java 堆是垃圾收集器管理的主要区域,因此也被称作 GC 堆。Eden 区、两个 Survivor 区 S0 和 S1 都属于新生代,中间一层属于老年代,最下面一层属于永久代。        1.2…

    Java 2023年4月27日
    00
  • 没有杯子的世界:OOP设计思想的应用实践

    最近看到一个有趣的问题:Person类具有Hand,Hand可以操作杯子Cup,但是在石器时代是没有杯子的,这个问题用编程怎么解决? 简单代码实现 我们先用简单代码实现原问题: @Data public class Person { private final String name; private Hand hand = new Hand(); priv…

    Java 2023年4月22日
    00
  • 一篇文章让你三分钟学会Java枚举

    学习Java枚举的完整攻略 什么是枚举? 枚举(Enum)是Java中的一种数据类型,它可以将一组有限个数的字符常量定义为可枚举的列表。 比如可以定义一个颜色的枚举类型: enum Color { RED, YELLOW, BLUE, GREEN } 枚举的特点 枚举中的每个枚举值都是一个常量,用大写字母表示 枚举类型通过Enum类实现,每个枚举值都是该类型…

    Java 2023年5月26日
    00
  • Java_int、double型数组常用操作工具类(分享)

    Java_int、double型数组常用操作工具类(分享) 介绍 本文主要介绍Java中对int和double型数组常用的操作,包括数组的初始化、求和、平均值、最小值、最大值等实用方法。 数组初始化 数组初始化可以通过实例化数组对象进行,也可以通过静态初始化和动态初始化的方式进行。 静态初始化 静态初始化使用{}声明并初始化数组,示例如下: int[] ar…

    Java 2023年5月26日
    00
  • SpringSecurity数据库进行认证和授权的使用

    SpringSecurity是一个专门用于处理应用程序安全认证和授权的框架。它提供了一系列的功能能够让我们轻松地实现基于角色、基于资源的权限控制。为了实现安全认证和授权,SpringSecurity可以使用多种数据源,其中最常用的是数据库。在本篇文章中,我将会详细讲解如何使用数据库进行SpringSecurity的认证和授权,包括以下内容: 导入相关依赖 在…

    Java 2023年5月20日
    00
  • JavaSpringBoot报错“BeanInstantiationException”的原因和处理方法

    原因 “BeanInstantiationException” 错误通常是以下原因引起的: 没有默认构造函数:如果您的 Bean 没有默认构造函数,则可能会出现此错误。在这种情况下,您需要添加一个默认构造函数。 构造函数参数不正确:如果您的 Bean 构造函数参数不正确,则可能会出现此错误。在这种情况下,您需要检查您的构造函数参数并确保它们正确。 解决办法 …

    Java 2023年5月4日
    00
  • java批量解析微信dat文件

    下面是“java批量解析微信dat文件”的完整攻略。 背景 如果你用过微信,你就会知道微信的消息保存在.dat文件中。这些文件包含了聊天记录、联系人、群组等等信息。为了方便地查看这些数据,我们可以使用Java编写程序,批量解析这些.dat文件。 准备工作 在编写程序之前,我们需要一些准备工作。首先,我们需要下载微信的.apk文件,并将其解压。然后进入解压后的…

    Java 2023年5月20日
    00
  • Java 类与对象重难点详解

    Java 类与对象重难点详解 Java 类与对象是 Java 的重要特性之一,理解其概念和运用,对于学习 Java 编程语言和开发具有非常重要的意义。本篇攻略将为大家讲解 Java 类与对象的相关概念和用法,以及一些常见的难点和解决方案。 类与对象的基本概念 在 Java 中,类是一种自定义的数据类型,是描述具有相同属性和行为的对象的蓝图。对象则是类的一个实…

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