外部 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)
相关推荐
旋律41410 分钟前
为什么需要命名规范?有哪些命名规范?
java
2301_7867566018 分钟前
中科院分区表停发后,期刊评价的技术逻辑:从期刊超越指数到多指标选刊方案
java·数据库·windows
Wx-bishekaifayuan26 分钟前
springboot铜仁非遗之家76938-计算机课程设计、毕业设计
java·spring boot·后端·spring·django·课程设计·旅游
顽疲28 分钟前
java vue springboot 养老系统源码详解:退住 care_out 审批结算与腾床事务实践
java·vue.js·spring boot·vue养老·springboot养老·java养老
geats人山人海37 分钟前
java 7异常
android·java·开发语言
斯内普吖38 分钟前
(开源)线上花店系统实战指南 基于 Java + SSM + Vue + MySQL
java·vue.js·mysql·开源
duxingzhe03111 小时前
我的一些书
java·数据库·tomcat·数据库开发·etl工程师
2603_965148111 小时前
商品价格监控 API 接口:从原理到实战的完整指南
java·前端·数据库·python·生活
瑞克-桑切斯1 小时前
2、Shell 条件语句
java·linux·服务器
Pniubi1 小时前
分片的意义?
java·开发语言