您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将war文件部署到独立安装在Spring Boot应用程序的内置Tomcat服务器中?[重复]

如何将war文件部署到独立安装在Spring Boot应用程序的内置Tomcat服务器中?[重复]

您可以使用将战争文件添加到嵌入式TomcatTomcat.addWebapp。正如其javadoc所说,它是“相当于将Web应用程序添加到Tomcat的Web应用程序目录中”。要在Spring Boot中使用此API,您需要使用一个自定义TomcatEmbeddedServletContainerFactory子类:

@Bean
public EmbeddedServletContainerFactory servletContainerFactory() {
    return new TomcatEmbeddedServletContainerFactory() {

        @Override
        protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(
                Tomcat tomcat) {
            // Ensure that the webapps directory exists
            new File(tomcat.getServer().getCatalinaBase(), "webapps").mkdirs();

            try {
                Context context = tomcat.addWebapp("/foo", "/path/to/foo.war");
                // Allow the webapp to load classes from your fat jar
                context.setParentClassLoader(getClass().getClassLoader());
            } catch (ServletException ex) {
                throw new IllegalStateException("Failed to add webapp", ex);
            }
            return super.getTomcatEmbeddedServletContainer(tomcat);
        }

    };
}
Java 2022/1/1 18:14:35 有695人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶