VOOZH about

URL: https://www.geeksforgeeks.org/java/what-is-javadoc-tool-and-how-to-use-it/

⇱ What is JavaDoc tool and how to use it? - GeeksforGeeks


  • Courses
  • Tutorials
  • Interview Prep

What is JavaDoc tool and how to use it?

Last Updated : 13 Oct, 2025

The JavaDoc tool is a built-in documentation generator in Java that creates API documentation in HTML format. It helps developers easily maintain and share structured information about classes, methods, constructors, and fields. It helps developers:

  • Create structured and professional documentation for classes, methods, and fields.
  • Maintain and share readable code explanations across teams or projects.
πŸ‘ Image

JavaDoc Comments

Before using the JavaDoc tool, you must include JavaDoc comments in your source code. These comments provide descriptive information about your classes, methods, constructors, and fields.

Syntax:

/**

* This is a JavaDoc comment.

*/


Structure of a JavaDoc Comment

A typical JavaDoc comment consists of two parts:

  • Description: General explanation of the code element.
  • Block tags: Provide structured metadata such as @param, @return, @author, etc.

Generating JavaDoc Documentation

You can generate documentation from the command line or through an IDE.

Command Line Method: You don’t need to compile the .java file before generating JavaDoc.

Use the following command:

javadoc file_name.java

or for an entire package:

javadoc package_name

After execution, a set of HTML files will be created. Open the index.html file to view your documentation.

Generating JavaDoc in Eclipse 

  • Go to Project -> Generate Javadoc.
  • Choose the destination folder (default is in your workspace or C drive).
  • Select the project or package to document.
  • Choose specific classes and visibility level (public, protected, etc.).
  • Click Next (optional: specify document title and other options).
  • Click Finish to generate the documentation.

Example 1:

Generate JavaDoc:

To generate documentation for the above package, run:

javadoc exa

This command will create a folder with HTML documentation files. Open index.html to view the API documentation in your browser.

Screenshot of javadoc:

πŸ‘ Image

Common JavaDoc Tags

Below is a list of commonly used tags with their descriptions and syntax:

TagDescriptionSyntax
@authorAdds the author of a class.@author name-text
{@code}Displays text in code font without interpreting the text as HTML markup or nested javadoc tags.{@code text}
{@docRoot}Represents the relative path to the generated document's root directory from any generated page.{@docRoot}
@deprecatedAdds a comment indicating that this API should no longer be used.@deprecated deprecatedtext
@exceptionAdds a Throws subheading to the generated documentation, with the classname and description text.@exception class-name description
{@inheritDoc}Inherits a comment from the nearest inheritable class or implementable interface.Inherits a comment from the immediate surperclass.
{@link}Inserts an in-line link with the visible text label that points to the documentation for the specified package, class, or member name of a referenced class.{@link package.class#member label}
{@linkplain}Identical to {@link}, except the link's label is displayed in plain text than code font.{@linkplain package.class#member label}
@paramAdds a parameter with the specified parameter-name followed by the specified description to the "Parameters" section.@param parameter-name description
@returnAdds a "Returns" section with the description text.@return description
@seeAdds a "See Also" heading with a link or text entry that points to reference.@see reference
@serialUsed in the doc comment for a default serializable field.@serial field-description | include | exclude
@serialDataDocuments the data written by the writeObject( ) or writeExternal( ) methods.@serialData data-description
@serialFieldDocuments an ObjectStreamField component.@serialField field-name field-type field-description
@sinceAdds a "Since" heading with the specified since-text to the generated documentation.@since release
@throwsThe @throws and @exception tags are synonyms.@throws class-name description
{@value}When {@value} is used in the doc comment of a static field, it displays the value of that constant.{@value package.class#field}
@versionAdds a "Version" subheading with the specified version-text to the generated docs when the -version option is used.@version version-text


Comment
Article Tags:
Article Tags: