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)