我的服务器运行在tomcat 8上,我使用没有任何Jersey组件的Spring Boot框架,但仍然出于某种原因,我在启动服务器时得到了这个日志数据:
信息:在类路径上检测到Spring WebApplicationInitializers:[org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration$JerseyWebApplicationInitializer@310ddd95,com.server.ServletInitializer @ 43b26169]
注意:我的服务器运行得很好,但我没有使用任何泽西岛,所以为什么我会收到这个信息?
这是我的主要配置类:
@ImportResource({"classpath:/META-INF/application-context.xml"})
@SpringBootApplication
@EnableAspectJAutoProxy
@EnableScheduling
public class DemoApplication {...}
这是另一个conf类:
@Configuration
@AutoConfigureAfter(DispatcherServletAutoConfiguration.class)
public class CustomWebMvcAutoConfig extends WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter {...}
另一个conf类:
@Configuration
@EnableWebSecurity
public class SecurityConfiguration {}
还有一个(我觉得这是个大问题):
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
答案 0 :(得分:3)
类org.springframework.boot.autoconfigure.jersey.JerseyAutoConfiguration
是Spring Boot的一部分,包含Jersey的自动配置(仅当Jersey位于类路径时才会激活)。但是,它还包含一个实现接口WebApplicationInitializer
的内部类,并且由于Spring检测到该接口的所有实现,因此您将获得此日志消息(如您所见,这只出现在所有实现的列表中,还包含WebApplicationInitializer
接口的实现。
然而,也许这是一个错误,因为在我看来,如果周围的自动配置不活动,它不应该检测WebApplicationInitializer。在这种情况下,您应该在Spring Boot的Github项目中打开一个错误报告(https://github.com/spring-projects/spring-boot/issues)。