繁体   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