我正在尝试在项目中一起使用Spring Boot 1.1.5和Apache Spark 1.0.2。看起来apache spark在内部使用Jetty容器,并且我已将spring- boot配置为使用Tomcat容器。但是,应用程序启动失败,根本原因是一些securityException。如果我看到完整的堆栈跟踪看起来像是弹簧启动,则试图初始化“ jettyEmbeddedServletContainerFactory”,但不应将其放在首位。由于跳船的存在,它可能会通过火花从类路径中拾取它。如果我从spark中排除码头并再次运行,我不会再看到相同的错误,但是SparkContext初始化由于找不到码头而失败。我如何告诉Spring- boot运行时寻找“ TomcatEmbeddedServletContainerFactory”而不是码头?
@Joakim Erdfelt,谢谢。 我只是在等待,看看是否有人熟悉这种情况,这是否只是一个小的配置更改。事实证明是这样!
@Configuration @EnableAutoConfiguration(exclude = {EmbeddedServletContainerFactory.class}) 公共类MyConfiguration {}
我将自己的“ EmbeddedServletContainerFactory” bean定义为“ org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory”,它按预期开始工作。