Spring Tool Suite 4 如何将项目部署服务器更换为外置Tomcat等应用服务器
STS4 更换外置Tomcat部署解决方案
核心原因:你当前创建的是默认内置容器的Spring Boot项目,默认打包格式为jar,未适配外置容器的部署要求,同时Tomcat 10存在Jakarta EE包名变更的兼容性问题,才会出现添加服务器时找不到项目的情况,按以下步骤操作即可解决:
步骤1:调整项目依赖与打包配置
- 首先修改
pom.xml的打包类型,将默认的jar改为war:
<packaging>war</packaging>
- 排除Spring Boot内置的Tomcat依赖,添加Servlet API适配依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
- 如果你使用的是Tomcat 10及以上版本,需要确保Spring Boot版本在3.0+,否则请降级到Tomcat 9(对应javax.servlet API):低版本Spring Boot只支持javax命名空间的API,和Tomcat 10的jakarta命名空间不兼容,会导致项目无法被服务器识别、部署失败。
步骤2:修改启动类配置
让启动类继承SpringBootServletInitializer,重写configure方法,适配外置容器的启动逻辑:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; @SpringBootApplication public class 你的启动类名 extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(你的启动类名.class); } public static void main(String[] args) { SpringApplication.run(你的启动类名.class, args); } }
步骤3:更新项目配置并添加到服务器
- 右键项目,选择
Maven→Update Project,更新项目配置 - 打开Servers视图,右键你已经添加的Tomcat服务器,选择
Add and Remove,此时就能在可用项目列表中看到你的项目,添加后保存即可部署运行
如果你找不到Servers视图,可以通过顶部菜单
Window→Show View→Servers打开,若列表中没有就选择Other,搜索Servers打开即可。
内容的提问来源于stack exchange,提问作者Henrique C.
相关产品推荐
相关产品推荐

