簡體   English   中英

tomcat 7取消部署失敗,應收賬款log4j.properties

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM