Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Azure上的自定义Tomcat配置(平台即服务)_Java_Spring_Azure_Tomcat - Fatal编程技术网

Java Azure上的自定义Tomcat配置(平台即服务)

Java Azure上的自定义Tomcat配置(平台即服务),java,spring,azure,tomcat,Java,Spring,Azure,Tomcat,我们最近将spring引导依赖项从1.3.5升级到1.5.8;在部署到Azure托管的Tomcat容器时,我们注意到部署没有正确启动。进一步检查catalina记录后: 无法完全删除org.apache.catalina.startup.ExpandWar.deleteDir。剩余文件的存在可能会导致问题。 我们知道,可以通过在context.xml中添加antiresourcelock=“true”来纠正此问题,但是,由于我们希望将平台作为服务,因此我们无权修改此配置 有没有办法在azure上

我们最近将spring引导依赖项从1.3.5升级到1.5.8;在部署到Azure托管的Tomcat容器时,我们注意到部署没有正确启动。进一步检查catalina记录后:

无法完全删除org.apache.catalina.startup.ExpandWar.deleteDir。剩余文件的存在可能会导致问题。

我们知道,可以通过在context.xml中添加antiresourcelock=“true”来纠正此问题,但是,由于我们希望将平台作为服务,因此我们无权修改此配置


有没有办法在azure上以web.config或其他方式设置此配置,同时将tomcat容器作为一项服务进行维护?

据我所知,在使用azure Webapps服务时,除了路径
D:\
之外,我们没有权限在路径
D:\
下操作任何东西

如果使用的Tomcat不是来自marketplace,则Tomcat路径为
D:\Program Files(x86)\apache-Tomcat-X.0.X
,不能由用户角色操作并获得管理员权限

但是,从marketplace使用Tomcat创建应用程序时,Tomcat将存在于您具有配置权限的路径
D:\home\site\wwwroot\bin

或者,您可以使用应用程序发布自己的Tomcat实例,然后编辑配置文件

请参阅中的
web.config
设置和tomcat模板


希望对您有所帮助。

因此,解决此问题的方法是将
context.xml
放入
src/main/webapp/META-INF
,如前所述

有关解决方案的详细信息,请参阅ApacheTomcat配置参考

由于我们已经阅读了对
D://
的访问,我刚刚从Tomcat安装中复制了
context.xml
,并通过更改
对其进行了修改


这样,我们就不需要从市场上安装Tomcat,也不需要将其打包到战争中。

您是否不能部署到他们的Tomcat容器中,而只部署一个带有嵌入式Tomcat的胖jar?创建WAR并部署到Tomcat,而不是运行embedded(它不会将您与Azure支持或不支持的任何东西联系起来)的原因是什么?现在有任何更新吗?不完全确定,因为我还没有时间详细查看web.config模板,也许有一种方法可以在那里进行设置。就市场版本而言,我们不希望这样做,因为这样我们就必须管理容器。使用Tomcat embedded部署应用程序也是我想了解的事情,但是我们的战争规模相当大,因此我必须对此进行调查。如果发布自己的Tomcat,您将切换到IaaS而不是PaaS,这可能不是他们想要做的。