标签:port class conf color .so 项目 xposed package rri
1.IDEA Spring Initializer自动构建的war包项目,自动生成的Initializer类,用于外部Tomcat容器启动该项目时调用,如果仍然使用主类main函数方式启动则与此类无关(Debug验证过了)
2.自动构建的war包项目,pom.xml中引入了:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<!--<scope>provided</scope>-->
</dependency>
注释的scope是我注释的,生成时打开着,这样显式引入的仍然是Spring Boot内嵌Tomcat,scope造成运行时没有内嵌Tomcat(只有编译时有),虽然引入了:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
仍然提示错误:
Unregistering JMX-exposed beans on shutdown
所以需要注释掉scope,这样内嵌的Tomcat可以启动Spring Boot Web项目,但打war包放在外置Tomcat时就不需要了,要使用exclude干掉内嵌Tomcat,或像现在这样使用scope在运行时不使用内嵌Tomcat。这时需要外置Tomcat使用这里生成的Initializer类:
package com.xiaobai.springbootwebdemo;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringbootwebdemoApplication.class);
}
}
Initializer类分析:
标签:port class conf color .so 项目 xposed package rri
原文地址:https://www.cnblogs.com/free-wings/p/9803350.html