你可以使用将war文件添加到嵌入式Tomcat
Tomcat.addWebapp。就像它的javadoc所说的那样,它是“相当于将Web应用程序添加到Tomcat的Web应用程序目录中”。要在Spring Boot中使用此API,你需要使用一个自定义
TomcatEmbeddedServletContainerFactory子类:
@Beanpublic 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); } };}


