问题一: SpringBoot应用部署在外置Tomcat中没有启动,无任何反应
解决办法:
- 启动类继承SpringBootServletInitializer并实现configure方法;
@SpringBootApplication
public class PaysApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(PaysApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(PaysApplication.class, args);
}
}
- 继承SpringBootServletInitializer 的作用与在web.xml文件中配置负责初始化Spring应用上下文监听器作用类似;
- 外部容器部署,不能依赖于main函数,要通过上述方式来启动应用。
- pom文件添加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
- 打包由jar变为war
<packaging>war</packaging>
问题二:SpringBoot部署在外置Tomcat中启动报错:org.springframework.beans.factory.UnsatisfiedDependencyException
错误详情:
Caused by: org.springframework.beans.factory