**描述:**在实际开发springboot项目时,会要求使用外置tomcat,但springboot有自带的tomcat。
解决方案:
正常开发时都会用到以下依赖
<!--使用外部tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
当我们把项目打成war包时因为不能使用spring boot自带的tomcat,我们就要加一行provided,因为provided表明该包只在编译和测试的时候用,所以,当启动tomcat的时候,就不会冲突了,值得注意的是scope=provided在编写项目的时候不要加呦不然运行的时候会报找不到这个包的
<!--使用外部tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
而我们现在需要类似于web.xml的配置方式来启动spring应用,为此,我们在Application类中要继承SpringBootServletInitializer并且重写configure方法,代码如下:
@SpringBootApplication
public class reportFormsApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(reportFormsApplication.class);
}
public static void main(String[] args){
SpringApplication.run(reportFormsApplication.class,args);
}
}
~~欢迎留言