2013-10-08 62 views
3

我無法在Windows上的Tomcat 7上重新部署我的應用程序。它嘗試取消部署應用程序,但無法刪除一個文件: jaxb-impl-2.1.13.jar。然後我不能再部署該應用程序,因爲該文件存在。無法重新部署應用程序(使用JAXB)

如果我重新啓動Tomcat,我可以部署應用程序。

這是我在日誌中得到:

Oct 08, 2013 12:00:28 PM org.apache.catalina.startup.HostConfig deleteRedeployResources 
INFO: Undeploying context [/myApp] 
Oct 08, 2013 12:00:28 PM org.apache.catalina.startup.ExpandWar deleteDir 
SEVERE: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\myApp\WEB-INF\lib] could not be completely deleted. The presence of the remaining files may cause problems 
Oct 08, 2013 12:00:28 PM org.apache.catalina.startup.ExpandWar deleteDir 
SEVERE: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\myApp\WEB-INF] could not be completely deleted. The presence of the remaining files may cause problems 
Oct 08, 2013 12:00:28 PM org.apache.catalina.startup.ExpandWar deleteDir 
SEVERE: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\myApp] could not be completely deleted. The presence of the remaining files may cause problems 
Oct 08, 2013 12:00:28 PM org.apache.catalina.startup.ExpandWar delete 
SEVERE: [C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\webapps\myApp] could not be completely deleted. The presence of the remaining files may cause problems 

我沒有在Linux上得到這個問題,只能在Windows上。我如何發佈這個文件,以便我可以重新部署我的應用程序?

+0

您好,我有同樣的問題也可以在Linux,並在Tomcat 6.0.32上。我發現啓動「find leaks」函數,然後重新取消部署webapp可以部分解決問題(jar可以被刪除,但類仍保留在內存中)。 – Alberto

+0

同樣的問題在這裏以及... Windows 7 64位和tomcat 6.0.35。即使使用find leaks函數並嘗試另一個取消部署,jar仍然保留在原來的位置。 – sataniccrow

回答

4

我剛剛清楚這個問題。關於鎖定問題的原因,你可以檢查apache wiki

一個解決這個問題的辦法是配置Context標籤的下列屬性在context.xml

  • antiJARLocking="true"
  • antiResourceLocking="true"
相關問題