[英]tomcat 7 undeploy fails dues log4j.properties
這個錯誤令人費解。 在我的Web應用程序中,按照建議,我在WEB-IF /類中具有log4j.properties。
從eclipse部署時,我停止了webapp,取消部署,然后部署。 奇怪的是,每10次中有8次我在取消部署時收到以下錯誤-
build.xml:526:失敗-無法刪除[C:\\ Program Files \\ Apache Software Foundation \\ Tomcat 7.0 \\ webapps \\ punch]。 該文件的繼續存在可能會導致問題。
我的Web應用程序下剩余的唯一文件是WEB-INF / classes / log4j.properties。 其他所有內容均被刪除。
我也無法手動刪除文件或webapp文件夾。 我必須停止Tomcat服務,刪除文件夾,然后重新啟動。
有什么解決辦法嗎?
謝謝。
這是我在build.xml中的刪除任務
<target name="remove"
description="Remove application on servlet container">
<stop url="${manager.url}"
username="${manager.username}"
password="${manager.password}"
path="${app.path}"/>
<undeploy url="${manager.url}"
username="${manager.username}"
password="${manager.password}"
path="${app.path}"/>
</target>
那是因為打開文件進行讀取。 您至少需要關閉您的應用程序。 這可以通過PsiProbe輕松完成。
確保在ServletContextListener的contextDestroyed()方法中調用LogManager.shutdown()。 那應該確保log4j沒有打開文件。
這是我的工作范圍:
我創建了另一個目標,將戰爭復制到Tomcat的webapp目錄。
<target name="copywar" depends="dist">
<copy file="${dist.home}/${app.name}.war" todir="${catalina.home}/webapps" />
</target>
我還確保Tomcat可以在server.xml中重新部署它
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
這樣很好。 感謝您的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.