项目独立Tomcat运行(将项目的打包方式修改为war包,然后修改启动类配置即可)
(1).修改pom打包方式为war,同时排除了内置的Tomcat.
<packaging>war</packaging>
<!-- 排除内置的tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>compile</scope>
</dependency>
<!-- 添加对servlet的依赖(看自己项目中有无使用servlet) -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
(2).改造下启动类,使其继承SpringBootServletInitializer,同时覆盖configure方法.
@SpringBootApplication
@Slf4j
public class ChapterApplication extends SpringBootServletInitializer{
public static void main(String[] args) {
SpringApplication.run(ChapterApplication.class, args);
log.info("jar,chapter启动!");
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
log.info("外部tomcat,chapter启动!");
return application.sources(ChapterApplication.class);
}
}
其实这样设置在开发时直接运行启动类也还是可以直接运行的.