方法1:修改Application入口类,继承SpringBootServletInitializer
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class BaseProjectApplication extends SpringBootServletInitializer {
// 这里好像不用重写configure方法,把SpringBootServletInitializer配置在别的配置类时才须重写
// @Override
//protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
//return application.sources(BaseProjectApplication.class);
//}
public static void main(String[] args) {
SpringApplication.run(BaseProjectApplication.class, args);
}
}
方法2:另外写一个配置类继承SpringBootServletInitializer并重写Configure方法,注意sources的参数是入口APP类,这样入口Application就不用继承SpringBootServletInitializer
@Configuration
public class MyInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(BaseProjectApplication.class);
}
}
PS:
注意使用对应的JDK编译,不要在Gradle使用JAVA11编译,但运行在JAVA8的TOMCAT上!