当试图在rt.jar中显示类的Javadoc时,Eclipse会超时
就在最近,我的Eclipse安装已停止可靠地显示rt.jar
任何类的Javadoc信息。 hover文档和内容辅助都不能为任何非本地类型显示Javadoc。 这个问题是零星的,Javadocs有时可以完美地工作几个小时。
查看工作区日志,我看到如下消息:
!ENTRY org.eclipse.jdt.ui 4 10001 2012-08-13 10:03:58.050 !MESSAGE Internal Error !STACK 1 Java Model Exception: Java Model Status [Timed out while retrieving the attached javadoc for String {key=Ljava/lang/String;} [in String.class [in java.lang [in C:\Program Files\Java\jre6\lib\rt.jar]]] ] at org.eclipse.jdt.internal.core.JavaElement.getURLContents(JavaElement.java:808) at org.eclipse.jdt.internal.core.BinaryType.getJavadocContents(BinaryType.java:1037) at org.eclipse.jdt.internal.core.BinaryType.getAttachedJavadoc(BinaryType.java:995) at org.eclipse.jdt.internal.ui.text.javadoc.JavadocContentAccess2.getHTMLContent(JavadocContentAccess2.java:463) at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo(JavadocHover.java:619) at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.internalGetHoverInfo(JavadocHover.java:565) at org.eclipse.jdt.internal.ui.text.java.hover.JavadocHover.getHoverInfo2(JavadocHover.java:557) at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:163) at org.eclipse.jdt.internal.ui.text.java.hover.BestMatchHover.getHoverInfo2(BestMatchHover.java:129) at org.eclipse.jdt.internal.ui.text.java.hover.JavaEditorTextHoverProxy.getHoverInfo2(JavaEditorTextHoverProxy.java:85) at org.eclipse.jface.text.TextViewerHoverManager$4.run(TextViewerHoverManager.java:166) !SUBENTRY 1 org.eclipse.jdt.core 4 1012 2012-08-13 10:03:58.050 !MESSAGE Timed out while retrieving the attached javadoc for String {key=Ljava/lang/String;} [in String.class [in java.lang [in C:\Program Files\Java\jre6\lib\rt.jar]]]
我最初想知道迈克菲的按访问扫描是否会妨碍它 – 它遇到JAR时会有一个停止的习惯 – 但是我确信看到我的设置仍然存在以忽略所有JAR文件(加上,如同一个额外的好处, C:\Program...\Java
的内容。
以前有人遇到过这个问题吗? 有没有办法增加这里应用的超时值?
我尝试过的事情:
- 增加存储在Preferences> Java> Edit> Content Assist> Advanced> Timeout中的值,以从附加的Javadoc(ms)中获取参数名称 ,但它对我的问题没有明显影响。 这并不奇怪,因为它从未声称会影响基于hover的超时。
- 创建一个新的工作区,没有效果。
- 仔细检查McAfee设置 – JAR显然未扫描。
- 在访问扫描日志上观看McAfee似乎没有显示出来的情况正在咀嚼
rt.jar
。 - 在监视器上慢慢地大声喊叫。
没有人工作过。
该问题已被触发,因为我的Eclipse安assembly置为使用我的本地JRE,而不是我的JDK。 由于JRE不包含Java源代码(也未附加Javadocs),因此Eclipse不得不从Web检索此信息。 据推测,一些网络滞后有时会引发问题。
我通过在Preferences> Java> Installed JREs中添加对本地JDK的引用并删除对旧JRE的引用来解决这个问题。
我在使用Eclipse 3.7.1时遇到了同样的问题,并通过访问来解决它
窗口 – >首选项 – > Java – >已安装的JRE – >执行环境 – > JavaSE-1.7
然后我选择了jdk选项而不是jre7
- eclipse为所有项目设置了全局环境
- 为什么我找不到我的档案?
- Eclipse + Maven + JavaServer Faces – > ClassNotFoundException:StartupServletContextListener
- 如何在使用maven构建的war中包含系统依赖项
- Eclipse从构建路径中删除测试文件夹
- 让subclipse在Ubuntu 64和Indigo上工作 – 加载了不兼容的JavaHL库。 需要1.7.x或更高版本
- Java – Eclipse上的类路径问题
- 如何在Eclipse 4.2的RCP应用程序中重用菜单?
- 在“计算启动按钮工具提示”期间发生内部错误。 安装TestNG后使用Eclipse Kepler的java.lang.IllegalArgumentException