Eclipse试图在rt.jar中显示类的Javadoc时超时
就在最近,我的Eclipse安装已经停止可靠地显示Eclipse试图在rt.jar中显示类的Javadoc时超时,java,eclipse,javadoc,Java,Eclipse,Javadoc,就在最近,我的Eclipse安装已经停止可靠地显示rt.jar中任何类的Javadoc信息。悬停在文档上方和内容辅助都不能显示任何非本地类型的Javadoc。这个问题是零星的,Javadoc有时一次可以完美地工作几个小时 查看工作区日志,我看到如下消息: !ENTRY org.eclipse.jdt.ui 4 10001 2012-08-13 10:03:58.050 !MESSAGE Internal Error !STACK 1 Java Model Exception: Java Mode
rt.jar
中任何类的Javadoc信息。悬停在文档上方和内容辅助都不能显示任何非本地类型的Javadoc。这个问题是零星的,Javadoc有时一次可以完美地工作几个小时
查看工作区日志,我看到如下消息:
!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]]]
起初,我想知道access scan上的McAfee是否妨碍了我——它有一个可怕的习惯,就是遇到JAR时会停下来——但看到我的设置仍然可以忽略所有JAR文件,我感到放心(另外,作为额外的奖励,C:\Program…\Java
)
以前有人遇到过这个问题吗?有没有办法增加此处应用的超时值
我尝试过的事情:
- 增加存储在首选项>Java>编辑>内容辅助>高级>超时处的值,以便从附加的Javadoc(ms)获取参数名,但这对我的问题没有明显影响。这并不奇怪,因为它从未声称会影响基于悬停的超时
- 创建一个新的工作区,没有效果
- 仔细检查McAfee设置-JAR显然未扫描
- 在access扫描日志上查看McAfee,这些日志似乎没有显示McAfee正在仔细检查
rt.jar
- 对着显示器慢慢地大声喊叫
没有一个有效。触发该问题是因为我的Eclipse安装配置为使用本地JRE,而不是JDK。由于JRE不包含Java源代码(也不包含附加的Javadocs),Eclipse被迫从web检索此信息。推测某些网络延迟有时会造成问题
我在首选项>Java>安装的JRE中添加了对本地JDK的引用,并删除了对旧JRE的引用,从而解决了这个问题。我在Eclipse 3.7.1中遇到了同样的问题,并通过转到 窗口->首选项->Java->安装的JRE->执行环境->JavaSE-1.7
然后我选择了jdk选项而不是jre7这与我两个月前发布的答案完全相同