码迷,mamicode.com
首页 > 编程语言 > 详细

Spring Boot以War包启动

时间:2018-10-17 14:40:37      阅读:224      评论:0      收藏:0      [点我收藏+]

标签: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类分析:

 

Spring Boot以War包启动

标签:port   class   conf   color   .so   项目   xposed   package   rri   

原文地址:https://www.cnblogs.com/free-wings/p/9803350.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!