记一次springboot打war包出现No Spring WebApplicationInitializer types detected on classpath问题
一、场景
由于现场环境及其它要求,需要将springboot项目达成war包部署。且打包时已排除springboot内嵌的tomcat,但部署时仍然出现No Spring WebApplicationInitializer types detected on classpat。
二、解决
推测是因为springboot项目打成war包后webinfo的问题
我是在SpringbootApplication启动类上继承SpringBootServletInitializer,并覆写configure方法解决的;
@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })
@MapperScan("com.bcp.bcpnotice.mapper")
public class NoticeApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(NoticeApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(NoticeApplication.class);
}
}