外部 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)
相关推荐
我是华为OD~HR~栗栗呀4 小时前
华为od-前端面经-22届非科班
java·前端·c++·后端·python·华为od·华为
潲爺4 小时前
Java IDEA学习之路:第二周课程笔记归纳
java·笔记·学习
haogexiaole5 小时前
es的java调用
java·elasticsearch·jenkins
开开心心就好5 小时前
PDF清晰度提升工具,让模糊文档变清晰
java·服务器·前端·python·智能手机·pdf·ocr
Chan166 小时前
【 设计模式 | 创建型模式 建造者模式 】
java·spring boot·设计模式·java-ee·intellij-idea·建造者模式
汤姆yu6 小时前
2025版基于springboot的校内跑腿管理系统
java·spring boot·后端
江上清风山间明月6 小时前
flutter 编译报错java.util.zip.ZipException: zip END header not found
java·开发语言·flutter
Gogo8167 小时前
k8s 跟 nacos 关于服务注册以及服务发现
java·nacos·k8s
qq_334060217 小时前
SpringMVC-数据绑定(日期型)-JSR-303 Validation验证-json处理
java·开发语言·spring