在idea中正常,打成JAR包在本地依然没有问题,但是打成WAR包访问页面一直出现问题
原因:spring boot内置Tomcat与外置Tomcat冲突
解决:去掉内嵌tomcat
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope><!-- 打成war的时候打开注释,本地开发用内嵌tomcat时加上注释 -->
</dependency>
修改启动类:
@SpringBootApplication
@MapperScan("com.tianheng.datacenter.system.dao")
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder){
return builder.sources(Application.class);
}
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
特别注意,不用以下两个按钮去直接编译

使用以下命令进行打包

代码
mvn clean package
问题解决
本文详细介绍了在SpringBoot项目中,从IDEA正常运行到打成JAR包无误,但在转换为WAR包部署时遇到的问题及解决方案。核心在于解决内置与外置Tomcat的冲突,通过调整依赖范围和启动类配置,最终实现WAR包的正确部署。
3596

被折叠的 条评论
为什么被折叠?



