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