Up to a few days ago, Eclipse was working fine in locating the javadoc for base classes such as Java.io.File. Recently, though, hovering over these classes only yields a message
The best way to do it is
Go to Project > Properties > Java Build Path > Libraries
and expand JRE System Library [your jre version] then, rt.jar
. Select Source attachment, click Edit…. Select the source code file (External File…) and press OK.
Other ways to attach java source code is mentioned in this link
http://www.cavdar.net/2008/07/14/3-ways-of-jdk-source-code-attachment-in-eclipse/
I encountered this problem now a couple of times too. It's especially annoying if you have a lot of projects in your workspace and you don't want to set the javadoc locations for each project.
Referencing the online documentation works well indeed, and there is a way to do that globally for all Java libraries:
http://docs.oracle.com/javase/8/docs/api/
. (If you press ''Validate...'' it will tell you if it is a valid javadoc location.)And here you have some images:
And your basic Java javadoc is ready to go.
Expand your JRE System library and find rt.jar (classes.jar for Mac OS X). Right click, and select 'Properties'.
You can then specify the Javadoc location (as well as the source location).
Press ctrl+click
(or command+click
if you're on a Mac) on any method which doesn't have javadocs. For example, in this line:
System.out.println();
... assuming that no javadocs are available for println
, control-clicking on println
will open a new tab with a button labeled "Attach Source...". And that's it!
I had the same problem.
I uninstalled eclipse, removed all eclipse specific data from my user's home- and application data directory, uninstalled all Java JREs and JDKs but nothing helped.
The solution on my system was to change the protocol in the JavaDoc URL from HTTP to HTTPS
e.g. for JRE 7 i changed the URL from http://docs.oracle.com/javase/7/docs/api/ to https://docs.oracle.com/javase/7/docs/api/
(use the steps mentioned by Terry and replace the 'http' with 'https')