我最近升级到Spring Boot 2,我们的应用程序通过Bamboo部署到PCF上,构建运行正常但是在部署阶段我收到以下错误:
java.lang.ClassNotFoundException: org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
我们没有在代码中的任何地方使用EmbeddedServletContainerCustomizer
类,我无法弄清楚它来自何处。想知道这是否是一个pom问题?
我已尝试过类似性质的所有其他问题。
答案 0 :(得分:2)
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
已从2.X中的spring-boot
依赖项中删除。很可能您还没有完全更新依赖关系,并且在您的构建中某处存在一个引用spring-boot-1.X
的依赖项。
它适用于Bamboo的事实意味着您的CI受到污染,并且不能反映部署环境。
答案 1 :(得分:1)
这个问题原因是我们将spring应用程序打包成一个战争,需要实现@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(WebApplication.class);
}
类来覆盖configure方法:
@BeforeEach
void beforeTestExecution() {
DesiredCapabilities desiredCapabilities = DesiredCapabilities.internetExplorer();
desiredCapabilities.setCapability(
CapabilityType.ForSeleniumServer.ENSURING_CLEAN_SESSION, true);
driver = new InternetExplorerDriver(desiredCapabilities);
// Navigate to URL
driver.get("http://www.yoursite.com");
// Maximize your website window before test.
driver.manage().window().maximize();
}
这又引发了上述错误。现在采取措施删除这个,并将我们的应用程序打包为jar!