0

我想在 spring boot 应用程序内置嵌入式服务器中部署 opencms.war/any war 文件(不是在 spring boot 上构建但它可以在任何应用程序或 web 服务器上运行)。有人可以帮我吗?

4

1 回答 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 回答