我想在 spring boot 应用程序内置嵌入式服务器中部署 opencms.war/any war 文件(不是在 spring boot 上构建但它可以在任何应用程序或 web 服务器上运行)。有人可以帮我吗?
问问题
180 次
1 回答
1
试试这种方法。在您的 Spring Boot 应用程序中添加此代码块。将您的战争文件放在一个src/main/resources
目录中。
@Bean
public EmbeddedServletContainerFactory servletContainerFactory() {
return new TomcatEmbeddedServletContainerFactory() {
@Override
protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(Tomcat tomcat) {
new File(tomcat.getServer().getCatalinaBase(), "webapps").mkdirs();
try {
tomcat.addWebapp("/test", new ClassPathResource("test.war").getFile().toString());
} catch (Exception ex) {
throw new IllegalStateException("Failed to add webapp",ex);
}
return super.getTomcatEmbeddedServletContainer(tomcat);
}
};
}
于 2017-09-27T06:04:38.703 回答