外部 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)
相关推荐
g***B7386 分钟前
Java 工程复杂性的真正来源:从语言设计到现代架构的全链路解析
java·人工智能·架构
期待のcode2 小时前
MyBatisX插件
java·数据库·后端·mybatis·springboot
醇氧4 小时前
【Windows】优雅启动:解析一个 Java 服务的后台启动脚本
java·开发语言·windows
sunxunyong5 小时前
doris运维命令
java·运维·数据库
菜鸟起航ing5 小时前
Spring AI 全方位指南:从基础入门到高级实战
java·人工智能·spring
古城小栈5 小时前
Docker 多阶段构建:Go_Java 镜像瘦身运动
java·docker·golang
MapGIS技术支持5 小时前
MapGIS Objects Java计算一个三维点到平面的距离
java·开发语言·平面·制图·mapgis
Coder_Boy_5 小时前
业务导向型技术日志首日记录(业务中使用的技术栈)
java·驱动开发·微服务
盖世英雄酱581366 小时前
springboot 项目 从jdk 8 升级到jdk21 会面临哪些问题
java·后端
济南壹软网络科技有限公司7 小时前
企业级盲盒系统:Java高并发架构在多元化抽奖电商中的设计与实践
java·架构·开源源码·盲盒源码·盲盒h5·盲盒app