2017-04-20 39 views
0

我在Azure中創建一個Web應用程序,並通過FTP將我的戰爭文件上傳到webapps/my.war。它被解壓併成功部署。下一次,我上傳my.war的新版本,覆蓋現有的文件,就像50/50一樣,它將被解壓縮和部署。當它第一次失敗時,除了刪除Web應用程序並創建一個新應用程序之外,我找不到任何方法。通過FTP的Azure Java部署不拆包

我已經試過我能想到停止移動web應用程序上傳或不是之前的所有組合方式,刪除文件webapps/mywebapps/my.war與否等

這是爲什麼以及如何解決呢?我的意思是,PAAS應該開箱即用,所以我必須做一些基本的事情。

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

回答

0

這是Tomcat的一項功能,對Azure上的Tomcat不是錯誤,因此不需要修復任何內容。根據Tomcat官方文件Deploying on a running Tomcat server,這個案例的解釋如下。

enter image description here

在Windows中,防鎖定功能被啓用。請參閱文檔Context Configuration瞭解antiResourceLocking=true在Tomcat 8.0的conf/context.xml中的效果。

enter image description here

您需要重新啓動你的web應用,就是讓Tomcat刪除舊版本的更新,或刪除手冊冊他們Tomcat關閉。

+0

好的趕上!但是,在上傳新的war文件之前停止webapp似乎還不夠。目前爲止最好的結果是停止webapp並等待10秒鐘,然後上傳新版本。在我設置自動化部署時,這種方式並不是很好,因爲我需要確保它每次都能正常工作。等待10秒更像是希望最好。無論如何,我想我能做些什麼呢? – Johan

+0

@Johan實際上,您可以通過FTP或Kudu控制檯將一個tomcat實例上傳到Azure WebApp的路徑'wwwroot',然後按照官方教程https://docs.microsoft.com/zh-cn/azure/app-service -web/web-sites-java-custom-upload#application-configuration-examples配置web.config文件來啓用IIS來啓動你的自定義tomcat。 –