【问题标题】:Is it possible to deploy a external war file in embedded/inbuilt tomcat server in spring boot?是否可以在 Spring Boot 中在嵌入式/内置 tomcat 服务器中部署外部战争文件?
【发布时间】:2017-09-07 10:58:22
【问题描述】:

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

【问题讨论】:

  • 经过这么多天我得到了解决方案,这是可能的,我已经完成了以下方式。

标签: spring maven spring-boot build.gradle spring-boot-gradle-plugin


【解决方案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);
            }
        };

    }

【讨论】:

  • 干得好chandhu @sumedh ..我不知道什么样的白痴对此做了'-1'..
猜你喜欢
  • 2015-10-28
  • 1970-01-01
  • 2020-08-20
  • 2020-02-24
  • 1970-01-01
  • 1970-01-01
  • 2021-10-26
  • 2019-03-21
  • 2020-07-24
相关资源
最近更新 更多