使用idea的某天突然發現鼠標放在方法名上時無法獲取到javadoc,懸浮框裏一致顯示fetching documentation… 最後發現了原因是javadoc的獲取來源指定了oracle的地址,可以通過以下方法解決:
首先找到 用戶目錄.IntelliJIdea2016.2\config\options\jdk.table.xml 這個文件打開
<application>
<component name="ProjectJdkTable">
<jdk version="2">
<name value="1.8" />
<type value="JavaSDK" />
<version value="java version "1.8.0_20"" />
<homePath value="D:/zhao/jdk" />
<roots>
<annotationsPath>
<root type="composite">
<root type="simple" url="jar://$APPLICATION_HOME_DIR$/lib/jdkAnnotations.jar!/" />
</root>
</annotationsPath>
<classPath>
<root type="composite">
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/charsets.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/deploy.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/access-bridge-64.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/cldrdata.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/dnsns.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/jaccess.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/jfxrt.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/localedata.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/nashorn.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/sunec.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/sunjce_provider.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/sunmscapi.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/sunpkcs11.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/ext/zipfs.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/javaws.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/jce.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/jfr.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/jfxswt.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/jsse.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/management-agent.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/plugin.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/resources.jar!/" />
<root type="simple" url="jar://D:/zhao/jdk/jre/lib/rt.jar!/" />
</root>
</classPath>
<javadocPath>
<root type="composite" />
</javadocPath>
<sourcePath>
<root type="composite">
<root type="simple" url="jar://D:/zhao/jdk/src.zip!/" />
<root type="simple" url="jar://D:/zhao/jdk/javafx-src.zip!/" />
</root>
</sourcePath>
</roots>
<additional />
</jdk>
<jdk version="2">
<name value="1.7" />
<type value="JavaSDK" />
<version value="java version "1.7.0_45"" />
<homePath value="D:/zhao/java/jdk1.7.0_45" />
<roots>
<annotationsPath>
<root type="composite">
<root type="simple" url="jar://$APPLICATION_HOME_DIR$/lib/jdkAnnotations.jar!/" />
</root>
</annotationsPath>
<classPath>
<root type="composite">
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/charsets.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/deploy.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/access-bridge.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/dnsns.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/jaccess.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/localedata.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/sunec.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/sunjce_provider.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/sunmscapi.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/sunpkcs11.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/ext/zipfs.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/javaws.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/jce.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/jfr.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/jfxrt.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/jsse.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/management-agent.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/plugin.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/resources.jar!/" />
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/jre/lib/rt.jar!/" />
</root>
</classPath>
<javadocPath>
<root type="composite">
<root type="simple" url="http://docs.oracle.com/javafx/2/api/" />
</root>
</javadocPath>
<sourcePath>
<root type="composite">
<root type="simple" url="jar://D:/zhao/java/jdk1.7.0_45/src.zip!/" />
</root>
</sourcePath>
</roots>
<additional />
</jdk>
</component>
</application>
這裏我的環境裝了2個jdk,仔細看可以發現1.7的版本下比1.8多了一行配置
<javadocPath>
<root type="composite">
<root type="simple" url="http://docs.oracle.com/javafx/2/api/" />
</root>
</javadocPath>
這個時候在使用1.7的jdk的情況下,如果你的網絡有限制連不上oracle的網站,就會出現一直fetching documentation 的情況,我們只需要將 url所在的那一行刪掉就能正常讀取到本地的javadoc了。