Spring 如何在春天展开战争';什么是雄猫?

Spring 如何在春天展开战争';什么是雄猫?,spring,tomcat,spring-boot,war,Spring,Tomcat,Spring Boot,War,我有一个带有web应用程序的war存档。我想在Spring Boot应用程序中启动该应用程序。因此,我听从了以下方面的建议: 这很有效,除了战争没有被提取出来: 无法创建目录[/tmp/tomcat.9153500015669016883.8080/webapps/blog] 这是tomcat工作目录的布局: $ find /tmp/tomcat.9153500015669016883.8080/ /tmp/tomcat.9153500015669016883.8080/ /tmp/tomcat

我有一个带有web应用程序的war存档。我想在Spring Boot应用程序中启动该应用程序。因此,我听从了以下方面的建议:

这很有效,除了战争没有被提取出来:

无法创建目录[/tmp/tomcat.9153500015669016883.8080/webapps/blog]

这是tomcat工作目录的布局:

$ find /tmp/tomcat.9153500015669016883.8080/
/tmp/tomcat.9153500015669016883.8080/
/tmp/tomcat.9153500015669016883.8080/work
/tmp/tomcat.9153500015669016883.8080/work/Tomcat
/tmp/tomcat.9153500015669016883.8080/work/Tomcat/localhost
/tmp/tomcat.9153500015669016883.8080/work/Tomcat/localhost/blog
/tmp/tomcat.9153500015669016883.8080/work/Tomcat/localhost/ROOT
A显示它想要在webapps/中创建目录。此不存在的webapps文件夹取自
Host.getAppBaseFile()
(来自
ContextConfig.context


所以对我来说,它的配置看起来很奇怪,应该扩展到work/Tomcat/localhost/blog。我该怎么做呢?

这似乎与spring无关,而是嵌入式tomcat的预期行为。我发现:

用户需要为主机的appBase定义有效目录

因此,只需在部署前创建默认appBase目录即可实现以下目的:

tomcat.getHost().getAppBaseFile().mkdir();
tomcat.addWebapp("blog", "/tmp/roller.war");
tomcat.getHost().getAppBaseFile().mkdir();
tomcat.addWebapp("blog", "/tmp/roller.war");