SpringBoot应用部署之WAR包部署方式

 更新时间:2025年03月28日 09:36:33   作者:闫小甲  
这篇文章主要介绍了SpringBoot应用部署之WAR包部署方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

WAR包部署

将Spring Boot应用部署为WAR包并部署到外部Tomcat服务器上,需要进行一些特定的配置和步骤。

以下是详细说明:

1. 修改打包方式

在项目的构建工具配置文件中(通常是pom.xml for Maven),将打包方式改为war。以下是构建工具的具体示例:

Maven

pom.xml中的<packaging>标签设置为war

<project>
    <!-- ... -->
    <packaging>war</packaging>
    <!-- ... -->
</project>

2. 排除内置Tomcat

为了防止与外部Tomcat服务器产生冲突,需要在构建配置中排除Spring Boot的内嵌Tomcat依赖。

在Maven的pom.xml中添加以下依赖排除:

<dependencies>
    <!-- ... -->
    <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>
    <!-- ... -->
</dependencies>

3. 配置SpringBootServletInitializer

为了让Spring Boot应用能够由外部Servlet容器如Tomcat加载,需要创建一个继承自SpringBootServletInitializer的类,并重写configure方法:

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(Application.class);
    }

}

这里Application.class是您的主应用程序类,包含@SpringBootApplication注解。

4. 构建WAR文件

使用对应的构建工具命令生成WAR包:

Maven

mvn clean package

生成的WAR文件通常位于target目录下,文件名为your-project-name-<version>.war

5. 部署到Tomcat

将生成的WAR文件复制到Tomcat的webapps目录下。

如果您正在运行Tomcat服务,它会自动检测到新部署的WAR文件并进行解压及部署。

如果您尚未启动Tomcat,启动后它同样会处理新部署的WAR文件。

6. 访问应用

部署完成后,您可以使用以下URL访问您的Spring Boot应用:

http://localhost:8080/your-project-name

这里的your-project-name通常对应WAR文件的基础名称(不带版本号)。如果在部署过程中更改了上下文路径,访问URL应相应调整。

注意事项:

  • 依赖冲突:与JAR部署一样,确保没有依赖冲突,特别是与Tomcat相关的依赖。
  • 外部化配置:避免在WAR包中硬编码敏感配置,使用环境变量、外部配置文件或配置服务管理。
  • 日志配置:遵循Tomcat的日志配置规范,可能需要调整Spring Boot的日志配置以适应Tomcat环境。
  • 健康检查与监控:同样可以利用Spring Boot Actuator,但可能需要调整端点路径以适应Tomcat部署的上下文路径。

按照以上步骤,就能成功将Spring Boot应用打包成WAR文件并部署到Tomcat服务器上了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Maven环境安装配置和新建项目介绍

    Maven环境安装配置和新建项目介绍

    这篇文章介绍了Maven环境安装配置和新建项目介绍,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • 使用springboot自动配置源码解读

    使用springboot自动配置源码解读

    自动装配是Spring Boot的一个核心特性,允许程序员在开发中更加专注于业务逻辑,而不是花费大量的时间去配置和管理第三方组件,当开发者在pom.xml文件中添加了某个依赖后,Spring Boot通过自动配置的方式,将这些第三方组件的实例自动注入到IOC容器中
    2024-11-11
  • Java Map和Set使用详解(最新推荐)

    Java Map和Set使用详解(最新推荐)

    本文介绍Java中Map和Set的实现结构,TreeMap/TreeSet基于红黑树,HashMap/HashSet基于哈希表,讨论哈希冲突处理、负载因子、线程安全及hashCode/equals的作用,涵盖二叉搜索树特性、查找效率、插入删除方法等关键内容,感兴趣的朋友一起看看吧
    2025-09-09
  • Java中方法的重写与成员变量的隐藏

    Java中方法的重写与成员变量的隐藏

    这篇文章讨论了Java面向对象概念中一个基本的概念–Field Hiding(隐藏成员变量),文中给大家介绍了java中的重写知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-11-11
  • solr在java中的使用实例代码

    solr在java中的使用实例代码

    本篇文章主要介绍了solr在java中的使用实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Java实现布隆过滤器的方法步骤

    Java实现布隆过滤器的方法步骤

    布隆过滤器是可以用于判断一个元素是不是在一个集合里,并且相比于其它的数据结构,布隆过滤器在空间和时间方面都有巨大的优势。下面这篇文章主要给大家介绍了关于Java实现布隆过滤器的相关资料,需要的朋友可以参考下
    2018-11-11
  • javaweb实现百度GPS定位接口(经纬度)

    javaweb实现百度GPS定位接口(经纬度)

    这篇文章主要介绍了javaweb实现百度GPS定位接口(经纬度),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • Java中的ReadWriteLock读写锁详解

    Java中的ReadWriteLock读写锁详解

    这篇文章主要介绍了Java中的ReadWriteLock读写锁详解,ReadWriteLock也是一个接口,提供了readLock和writeLock两种锁的操作机制,一个资源可以被多个线程同时读,或者被一个线程写,但是不能同时存在读和写线程,需要的朋友可以参考下
    2023-12-12
  • SpringBoot集成redis的示例代码

    SpringBoot集成redis的示例代码

    redis想必小伙伴们即使没有用过,也是经常听到的,在工作中,redis用到的频率非常高,本文主要介绍了SpringBoot集成redis,感兴趣的可以参考一下
    2021-10-10
  • java socket 详细介绍

    java socket 详细介绍

    本篇文章小编为大家介绍,java socket 详细介绍。需要的朋友参考下
    2013-04-04

最新评论