我在传统战争中介绍了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应用程序中提供的其他任何代码一样?