我想在spring boot应用程序内置的嵌入式服务器中部署opencms.war /任何war文件(它不是在spring boot上构建,但它可以在任何应用程序或Web服务器上运行)。任何人都可以帮我这个吗?
答案 0 :(得分:1)
试试这种方法。在Spring启动应用程序中添加此代码块。
将war文件放在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);
}
};
}