Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.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
通过FTP部署Azure Java而不是解包_Java_Azure_Deployment_Ftp - Fatal编程技术网

通过FTP部署Azure Java而不是解包

通过FTP部署Azure Java而不是解包,java,azure,deployment,ftp,Java,Azure,Deployment,Ftp,我在Azure中创建了一个Web应用程序,并通过FTP将我的war文件上载到webapps/my.war。它已成功解包和部署。下次我上传一个新版本的my.war,覆盖现有文件时,它将被解包和部署。当它第一次失败时,我发现除了删除webapp并创建一个新的webapp之外,没有其他方法可以恢复它 我已经尝试了所有我能想到的方法,包括在上传之前是否停止webapp,删除文件webapps/my和webapps/my.war等等 这是为什么?我如何修复它?我的意思是,PAAS应该是开箱即用的,所以我一

我在Azure中创建了一个Web应用程序,并通过FTP将我的war文件上载到
webapps/my.war
。它已成功解包和部署。下次我上传一个新版本的
my.war
,覆盖现有文件时,它将被解包和部署。当它第一次失败时,我发现除了删除webapp并创建一个新的webapp之外,没有其他方法可以恢复它

我已经尝试了所有我能想到的方法,包括在上传之前是否停止webapp,删除文件
webapps/my
webapps/my.war
等等

这是为什么?我如何修复它?我的意思是,PAAS应该是开箱即用的,所以我一定是做错了一些基本的事情


我忘了提到我正在使用最新版本的Tomcat 8.0。

这是Tomcat的一项功能,对Azure上的Tomcat来说不是一个错误,所以不需要修复任何东西。根据的Tomcat官方文档,对该案例的解释如下

在Windows上,已启用防锁定功能。请参考文档了解Tomcat 8.0的
conf/context.xml
antiresourcelock=true
的效果


您需要重新启动webapp,让Tomcat删除旧版本以进行更新,或者在Tomcat关机时手动删除它们。

Nice catch!然而,在上传新的war文件之前停止webapp似乎还不够。到目前为止,最好的结果是停止webapp并等待10秒钟,然后再上传新版本。由于我正在设置一个自动部署,这种方式并不是很好,因为我需要确定它每次都能工作。等待10秒钟更像是在期待最好的结果。无论如何,我想我对此无能为力?@Johan实际上,你可以通过FTP或Kudu控制台将tomcat实例上传到Azure WebApp的路径
wwwroot
,然后按照官方教程配置
web.config
文件,以使IIS能够启动你的自定义tomcat。