Eclipse“加载描述符”需要很长时间

28
我们有一个基于Java Spring MVC 的项目,使用Eclipse(Juno - 最新版本),最新的JVM 1.7和Tomcat 7。 Eclipse非常快,一切都设置为默认设置。一旦所有内容加载完成,它就会非常快,这是一种令人愉悦的变化。
然而,唯一的抱怨是,如果我打开一个项目,它就会开始“加载描述符”,据我所知,这是我们185行的web.xml文件。有时这可能需要5分钟才能加载,有时根本无法加载。这会阻止进行任何更改,因为在发生任何其他情况之前,系统会等待描述符加载完毕。按下停止按钮会让系统“等待”取消通过,唯一的出路似乎是在任务管理器中终止java进程。如果它确实加载了,那么系统运行得很好(除非您打开另一个项目作为参考,然后再次开始乐趣)。
是否有一些配置可以跳过描述符(例如可以跳过的验证相关内容)或者描述符可能不能正确加载的原因?

1
我曾经遇到过同样的问题,我通过切换到“包资源管理器视图”来解决了这个问题。请参考第三个答案: “这个问题是由于‘项目资源管理器’执行环境描述符的加载所导致的。因此,在Eclipse加载后,选择‘窗口’->‘打开透视图’->‘Java’。它将打开‘包资源管理器’而不是‘项目资源管理器’。你需要在Eclipse加载描述符之前快速完成这个操作。”然而,我很好奇为什么Eclipse在尝试加载描述符时会挂起?有人能在这里解释一下吗? - panipsilos
7个回答

34

当你打开项目浏览器时,会发生这种情况。 在“自定义视图”对话框中取消选中不必要的选项。 在项目浏览器面板的右上角有一个名为“自定义视图”的菜单,请转到第二个标签“内容”并取消勾选不需要的选项...


我不得不取消勾选几乎所有的小东西,但最终肚子痛停止了。奇怪的是,这只发生在尝试进行svn更新之后。 - demaniak

16

发生该问题是因为“项目资源管理器”正在加载环境描述符。

因此,在Eclipse加载后,选择“窗口” ->“打开透视图” ->“Java”。它将打开“包资源管理器”而不是“项目资源管理器”。

在Eclipse加载描述符之前,您需要快速完成操作。


1
没错,我之前也遇到了同样的问题,但是我通过切换到“包资源管理器视图”解决了它。 - panipsilos

4

是的,问题出现在“项目资源管理器”中。如果您想使用“Java EE”视图(默认情况下打开“项目资源管理器”视图),请关闭“项目资源管理器”视图并打开“包资源管理器”视图。


4

正如您所提到的,您可以尝试禁用所有基于 'xml' 的验证,如下所示:

  1. 首先,在 Windows -> 首选项 -> 验证中禁用所有 XML / XSL 基础验证:

    Eclipse General Validation

  2. 在 Eclipse 首选项中输入“验证”,并禁用任何与 XML 相关的验证,如下所示:

    Eclipse XML Specific Validation

    enter image description here

以下可能有助于解决问题:

  1. 检查代理设置。如果需要,您的 Eclipse 是否能够连接到互联网?我问的原因是,对于 XML 文件,Eclipse 尝试下载相关的模式文件。
  2. 还应该检查 Eclipse 的错误日志视图,以查看它挂起时正在尝试做什么特定的事情。
  3. 您是否在 Eclipse 中安装了与包含 web.xml 文件的项目相关联的源代码控制插件?如果是,请断开网络连接,然后尝试打开有问题的项目。实际上,我建议您将网络连接断开并尝试打开问题项目。
  4. 如果这是以前版本的 Eclipse 中的旧工作区,请尝试将此项目导入新工作区?

希望以上内容能够帮到您。


2

将资源管理器更改为包资源管理器 窗口->显示视图->其他->Java->包资源管理器 现在可以使用了。


1
在我的情况下,将web.xml重命名为web-fail.xml可以停止挂起。
至少,我用3.1替换了我的2.4模式定义。
`<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
     http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
     version="3.1">
`

一切都再次正常工作


0
我的成功之路是从Eclipse中删除该项目。并且删除“. classpath”, “.settings” 和“ .project”文件(“.settings”是一个目录)。之后将该项目作为现有的maven项目导入到Eclipse中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接