# Module jdk.javadoc

module jdk.javadoc
Defines the implementation of the system documentation tool and its command-line equivalent, javadoc.

## javadoc

This module provides the equivalent of command-line access to javadoc via the `ToolProvider` and `Tool` service provider interfaces (SPIs), and more flexible access via the `DocumentationTool` SPI.

Instances of the tools can be obtained by calling `ToolProvider.findFirst` or the service loader with the name `"javadoc"`.

Module Graph:
Tool Guides:
  javadoc
Since:
  9
External Specifications
  - Documentation Comment Specification for the Standard Doclet

- ## Packages

  Exports
  Package
  Description
  jdk.javadoc.doclet
  The Doclet API provides an environment which, in conjunction with the Language Model API and Compiler Tree API, allows clients to inspect the source-level structures of programs and libraries, including API comments embedded in the source.
  Indirect Exports
  From
  Packages
  java.compiler
  javax.annotation.processing javax.lang.model javax.lang.model.element javax.lang.model.type javax.lang.model.util javax.tools
  jdk.compiler
  com.sun.source.doctree com.sun.source.tree com.sun.source.util com.sun.tools.javac

- ## Modules

  Requires
  Modifier
  Module
  Description
  transitive
  java.compiler
  Defines the Language Model, Annotation Processing, and Java Compiler APIs.
  transitive
  jdk.compiler
  Defines the implementation of the system Java compiler and its command line equivalent, javac.

- ## Services

  Provides
  Type
  Description
  DocumentationTool
  Interface to invoke Java programming language documentation tools from programs.
  Tool
  Common interface for tools that can be invoked from a program.
  ToolProvider
  Use `ToolProvider.findFirst("javadoc")` to obtain an instance of a `ToolProvider` that provides the equivalent of command-line access to the `javadoc` tool.