eclipse tomcat May be locked by another process 解决

eclipse中开发,项目部署在tomcat7中,每次修改文件之后,tomcat要自动重新部署,就会报这个错误

Could not delete D:/workspace-jee-indigo/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/ssh/WEB-INF/lib. May be locked by another process.

在网上百搜不得解啊!

这个问题我怀疑是不是因为tomcat启动太快,自己的进程又要使用lib下的jar又要删除lib下的jar造成的。

后来研究tomcat的配置,双击tomcat

 

eclipse tomcat May be locked by another process 解决_第1张图片

各个配置研究之后发现勾上Server modules without publishing 问题能够解决,这个配置的意思 让tomcat直接使用WebContent下的东西,不再需要发布到

D:\workspace-jee-indigo\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\ssh\WEB-INF  下面,每次tomcat重新部署也就不再需要删除WEB-INF下面的内容,问题就得以解决。

这个面板上的其他相关配置参考 :http://my.oschina.net/uniquejava/blog/80945

(1)serve modules without publishing
tomcat直接使用WebContent下的东西
省去publish\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps
勾上它会将tmp0\wtpwebapps下相关的resources删除,
同时会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的serveModulesWithoutPublish=true
以及tmp0/conf/server.xml中的配置

(2)publish module contexts to separate XML files

勾选 上后会修改Servers/Tomcat v6.0 Server at localhost-config/servers.xml中的saveSeparateContextFiles=true

同时将tmp0/conf/server.xml中关于该app元素

移动到tmp0/conf/Catalina/localhost/appName.xml

 

修改JSP后立即生效(在没有勾选Server modules without publishing的情况下,如果勾选,修改jspjs总会立即生效):

Ctrl+Shift+R,找到server.xml

reloadable="true"改为false,这样保存JSPTomcat不会自动重启,若勾选Server modules without publishing修改class也不会自动重启

勾选上Automatically publish  when resources change

这样修改JSPtomcat能热加载。。(这个选项对java文件无效,关了以后每次也能热加载)

 

 

 

你可能感兴趣的:(备忘)