Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EclipseWTP/m2eclipse-既不能清理也不能发布到tomcat_Eclipse_Tomcat_M2eclipse - Fatal编程技术网

EclipseWTP/m2eclipse-既不能清理也不能发布到tomcat

EclipseWTP/m2eclipse-既不能清理也不能发布到tomcat,eclipse,tomcat,m2eclipse,Eclipse,Tomcat,M2eclipse,我正在从事一个非常复杂的项目(Java/Spring/Maven multi-module),在ubuntu11.10/64位上的eclipseindigo-javaee(大量使用m2eclipse)中使用WAR覆盖 直到今天早上一切都好:我不能再清理/发布给tomcat了: Publishing failed Could not delete <directory> May be locked by another process. 发布失败 无法删除可能被其他进程锁定的文件。

我正在从事一个非常复杂的项目(Java/Spring/Maven multi-module),在ubuntu11.10/64位上的eclipseindigo-javaee(大量使用m2eclipse)中使用WAR覆盖

直到今天早上一切都好:我不能再清理/发布给tomcat了:

Publishing failed
Could not delete <directory> May be locked by another process.
发布失败
无法删除可能被其他进程锁定的文件。
我可以很容易地手动删除这些文件(但tomcat仍然无法发布),并且我无法找到哪个进程可能正在锁定它(linux:
lsof

我在Eclipse中尝试了很多东西:删除了项目(工作),再次添加(相同的问题),删除了服务器配置,删除了tomcat配置,更新了Eclipse,用-clean启动Eclipse,将服务器目录从插件文件夹中移出,将项目回滚到前几天确实工作的分支

正如所说:直到昨天一切都很好。我发现了这个问题,最近有人也有同样的问题。谷歌搜索并没有透露太多。有些人也有类似的问题,他们通过大量删除/重新创建服务器配置来“修复”这些问题。至少试了10次

同样的问题在一位同事的linux机器上-他昨天安装了他的系统,并立即运行

我发现m2e wtp的错误报告可能与此有关

更新:我很确定这是WAR overlay和WTP的Maven集成版本的结合:0.15.1.20120208-1300
实际上,我正试图将其降级到0.14…

我看不到简单的解决方案。您可以尝试:

创建一个Eclipse启动配置,以便可以从Eclipse本身调试Eclipse。查看WTP的源代码,找出错误消息的来源并设置断点

获取插件的副本,并更改代码以在无法删除文件时列出目录中的文件。我的直觉是某些进程(比如从m2e复制的资源)正在将文件复制到目录中,而其他插件则试图重新部署

也就是说:我已经放弃了Tomcat和战争部署。它太慢,也太容易出错。对于我所有的项目,我都使用一个嵌入式Jetty服务器,我在Eclipse中运行它。原因:

  • Jetty服务器获得与编译器相同的类路径。没有必要把我的时间浪费在复印东西上
  • 它的启动速度要快得多(Jetty:5s,部署Tomcat:45s)
  • Jetty服务器是一个普通的Java应用程序,因此我不必设置远程调试
  • 我可以通过单元测试运行相同的服务器
  • 我可以在Jetty重新启动时配置它
  • 不要弄乱XML配置文件

它是与WAR覆盖相结合的插件。通过此夜间构建修复了此问题: (0.16.xxx版)

我看到这个网址 提供版本15.2.xxx,这可能是更好的(第一次)尝试,因为我不知道16.xxx每晚会出现什么其他问题…

这对我来说很有效:

1. go to server tab. 
2. Double click on tomcat server.
3. in the tomcat config window check server modules without publishing
4. start the server. (this will replace your project deployed in tomcat)
5. stop the server.
6. in the tomcat config window Uncheck server modules without publishing.
7. start the server.

你没有做任何eclipse更新,是吗?当问题最初发生时:没有。在我试图修复它的过程中:是感谢你的帮助。事实上,我正要搜索来源,但这肯定不是一项容易的任务(至少对我来说不是)。我们花了很长时间才发现是哪个插件导致了这个问题。。。