外部 Tomcat 部署详细

1. 改造为 WAR 项目

修改 pom.xml 打包方式
复制代码
<packaging>war</packaging>
排除内嵌容器
复制代码
<!-- 如之前误引 spring-boot-starter-tomcat 需 provided,本 DAY 无 -->
添加 provided 范围的 Servlet API(已做可跳过)
复制代码
<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>6.0.0</version>
    <scope>provided</scope>
</dependency>
新建 ServletInitializer(Spring 纯注解需要)
复制代码
public class ServletInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] { AppConfig.class, DataConfig.class }; // 后两者合并也行
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return null; // 已全在 Root 里
    }

    @Override
    protected String[] getServletMappings() {
        return new String[] { "/" };
    }
}

若你仍用 web.xml 可跳过本类,但建议统一注解。


2. Maven 打包

复制代码
mvn clean package -DskipTests
# 生成 target/library.war (≈ 18 MB)
相关推荐
vx_bisheyuange7 分钟前
基于SpringBoot的库存管理系统
java·spring boot·后端·毕业设计
专注于大数据技术栈9 分钟前
java学习--单例模式之懒汉式
java·学习·单例模式
czhc114007566331 分钟前
C# 1120抽象类 static
java·开发语言·c#
whltaoin37 分钟前
【 Java微服务 】Spring Cloud Alibaba :Nacos 注册中心与配置中心全攻略(含服务发现、负载均衡与动态配置)
java·微服务·nacos·springcloud·注册中心·配置中心
你不是我我39 分钟前
【Java 开发日记】有了解过 SpringBoot 的参数配置吗?
java·开发语言·spring boot
稚辉君.MCA_P8_Java1 小时前
Gemini永久会员 Java HotSpot 虚拟机(JVM)的优点
java·jvm·后端
ivanfor6661 小时前
多租户架构的三级权限体系:设计逻辑与精准控制实现
java·开发语言·数据库
讨厌下雨的天空1 小时前
Linux信号量
java·开发语言
♡喜欢做梦2 小时前
MyBatis XML 配置文件:从配置规范到 CRUD 开发实践
xml·java·java-ee·mybatis
爱吃烤鸡翅的酸菜鱼2 小时前
Spring Boot 实现 WebSocket 实时通信:从原理到生产级实战
java·开发语言·spring boot·后端·websocket·spring