嵌入WEB-INF / lib(Tomcat 8.5.20)后,SpringBootServletInitializer无法启动

时间:2018-06-25 15:20:02

标签: spring-boot

我在传统战争中介绍了Spring Boot,如here所述。 因此,我定义了一个Spring Boot应用程序,如下所示:

package com.acme;

@SpringBootApplication
@Import(AppConfig.class)
public class Application extends SpringBootServletInitializer {

  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(Application.class);
  }

  public static void main(String[] args) throws Exception {
    SpringApplication.run(Application.class, args);
  }

}

我在web.xml中定义了许多旧的东西(servlet,侦听器,JSF烹饪等),我现在不想移动,但是没有引用任何基于Spring的代码。

有趣的是,仅当我将其打包在WEB-INF/classes中后,该应用程序才能正常启动。如果将我放在WEB-INF/lib的一个jar中,它将永远不会启动,这似乎表明Application没有扫描我的SpringServletContainerInitializer类。 我使用的是Spring Boot 2.0.1.RELEASE,Spring 5.0.5.RELEASE,而问题发生在Tomcat 8.5.20上。

是否应该做些什么,以便可以将其打包到WEB-INF / lib中,就像我在该Web应用程序中提供的其他任何代码一样?

0 个答案:

没有答案