Eclipse how to link a jar containing javadocs/source with its binary?

65,923

Solution 1

You can try to CTRL + click on a class that has no source attached (do that in editor). When it shows you some info about the class you'll see the button that guides to attach source dialog. Click it and in dialog that pops up pick the source/javadoc location for your class.

You can also do that from project build path settings you are mentioning: pick libraries tab, expand the library (jar) you want and you'll be offered to pick: source attachment, javadoc attachment, native library location, etc. You just pick whatever you want and edit its current settings.

Or you can do as @JB Nizet said...

Solution 2

  1. Right click over the project -> Build path -> Configure build path
  2. In the new window, go to the "Libraries" tab.
  3. Select the library and expand it.
  4. There are 4 child options. Select "Javadoc location" and click the "Edit" button on the right.
  5. Now you can add a jar file containing the docs. This would be just a zip file with the extension changed to jar. Make sure inside the jar the index.html is in the root. You can press the "Validate" button to check everything is ok.

Solution 3

Right-click on the jar (the one with the class files), choose "Properties", the "Javadoc location", and choose the jar file with the javadoc. Do similarly for the source jar, using "Java source attachment".

Solution 4

You can also edit the classpathentry in the file ".classpath" in your eclipse project. This can be helpful if you want to modify many entries at once or if you want to generate the path. e.g.:

<classpathentry kind="var" path="HOME/3rdparty/junit.jar" sourcepath="/SOURCE/junit_src.zip"/>

Share:
65,923

Related videos on Youtube

earthbounce
Author by

earthbounce

Updated on July 05, 2022

Comments

  • earthbounce
    earthbounce almost 2 years

    I would like to have the javadoc comments contained in a jar file show in eclipse when I hover over a class.

    For example, after downloading JODA-2.0, three jars are obtained:

    In eclipse, [right click project -> Properties -> Java Build Path -> Libraries -> ADD JARs...] includes the binary in the project (can reference those classes) for joda-time-2.0.jar.

    But how can I link in the sources/javadoc comments contained in the other two jar files so that when I hover over those classes I see the javadocs?

    Adding the other two jars (joda-time-2.0-javadoc.jar and joda-time-2.0-sources.jar) to the build path does not link the javadocs or the source.

  • Miguel Moll
    Miguel Moll about 12 years
    It might just be me but this only works if Eclipse "recognize" the file as a jar. That it is it has a little jar icon next to it. When I import 3rd party jars they show up with what appears to be document icon. They work just fine code wise but right clicking properties I don't get "javadoc location".
  • Vikas Raturi
    Vikas Raturi over 10 years
    +1 answer! I was thinking of such a method to add for various jars at once.
  • Gunnar Bernstein
    Gunnar Bernstein about 10 years
    to 3. Select the library directly, not the one listed in Android Private Libraries (there is not edit functionality). To 4: Use Javadoc in Archives, not URL
  • Pacerier
    Pacerier over 9 years
    What's the difference between attaching source vs attaching javadoc?
  • aaiezza
    aaiezza about 9 years
    -1 You don't want to edit the .classpath file directly. It is intended to only be used by eclipse, not edited manually. @Mister Smith actually gives the real correct answer here. Though draganstankovic explains a method that will at least get the job done...
  • Michael_S
    Michael_S almost 9 years
    @scribaniwannabe: I know that this is neither the intended, supported way nor the easiest way, but for the use cases I mentioned it works much faster and without problems. However you have to be careful to use valid XML syntax.
  • xtian
    xtian almost 9 years
    If your jars are in WEB-INF/lib, you shouldn't right-click on them (as you said, they show up as documents) but from the equivalent inside "Web App Libraries"
  • Stevoisiak
    Stevoisiak about 7 years
    @Pacerier source contains the program source code, where javadoc contains documentation and comments explaining the program's functionality.
  • Radon8472
    Radon8472 almost 7 years
    I get the message "The JAR of this class file belongs to container 'Android Private libraries' wich does not allow modifications to source attachments on its entries
  • Sina Madani
    Sina Madani about 6 years
    Just to add that if you're using a common library you can attach a link to the API online instead of a hard-coded local path to the JAR file.