Spring Boot 项目部署到本地Tomcat,出现访问路径问题
    		       		warning:
    		            这篇文章距离上次修改已过425天,其中的内容可能已经有所变动。
    		        
        		                
                解释:
Spring Boot 项目默认内嵌了Tomcat,但有时为了更多的定制化选项或者其他原因,我们需要将Spring Boot项目部署到外部的Tomcat服务器。当在Tomcat中部署Spring Boot项目时,访问路径问题可能是因为Spring Boot的内置Tomcat和外部Tomcat的配置不一致,或者是因为Spring Boot的Servlet初始化方式与Tomcat的要求不匹配。
解决方法:
- 确保Spring Boot项目的pom.xml或build.gradle文件中没有指定spring-boot-starter-web依赖的provided作用域。如果有,移除或更改。
- 如果你的项目有一个SpringBootServletInitializer的扩展类,确保正确重写了configure方法。
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 
public class Application extends SpringBootServletInitializer {
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
    
    // ... 其他的Spring Boot配置
}- 确保application.properties或application.yml中没有设置server.context-path属性,或者如果设置了,确保它与Tomcat的路径设置一致。
- 如果你的项目有多个模块,确保每个模块都有一个SpringBootServletInitializer扩展类,并且在main方法所在的类中正确重写了configure方法。
- 清理并重新构建你的项目,然后将生成的war文件部署到Tomcat。
- 确保Tomcat的conf/server.xml中的<Host>标签配置正确,没有错误的路径或者配置冲突。
- 如果你的Tomcat服务器运行在不同的端口上,确保访问路径包含了正确的端口号。
- 确保没有其他的Web应用部署在Tomcat上冲突了路径。
如果以上步骤都正确无误,通常可以解决Spring Boot项目部署到本地Tomcat时出现的访问路径问题。
评论已关闭