SpringBoot项目WAR包打包配置Maven版pom
在使用 Spring Boot 进行开发时,默认的打包格式为 JAR,适合独立部署。但在部署到传统 Servlet 容器(如 Tomcat)时,需将项目打包为 WAR 格式。
为了实现 WAR 打包,需要在 Maven 的 pom.xml 文件中进行特定配置。,将
设置为 war
,指明构建类型。
,应排除 spring-boot-starter-web 中的内嵌 Tomcat 依赖,避免与外部容器冲突。通过
标签排除 spring-boot-starter-tomcat。
若需要使用 Jetty 或 Undertow 替代 Tomcat,可引入 spring-boot-starter-jetty 或 spring-boot-starter-undertow,也可不添加任何容器依赖,完全依赖外部服务器。
使用 spring-boot-maven-plugin 插件,可简化打包流程。需配置主类名、输出目录、WAR 文件名等参数,使构建更灵活。
为了静态资源,可借助 maven-resources-plugin 插件分别对配置文件和其他资源进行过滤控制,确保资源正确打包进 WAR。
在构建 WAR 包结构时,需关注 Web-INF 目录。使用 maven-war-plugin 插件可自定义目录结构,将 src/main/webapp
内容合并到正确位置。
由于不再使用内嵌容器,还应调整自动配置行为。@SpringBootApplication 注解需要适配外部容器的启动方式,配置文件中也需要指定外部端口等参数。
可参考 pom.xml 结构和 Maven 配置文件 的详细,例如:[Maven pom.xml 与 settings.xml 详解](https://kaledl.com/down/6027293.html) 和 [基于 Maven 的 pom.xml 文件详解](https://kaledl.com/down/6015591.html),掌握插件配置的更多细节。