Javadoc

The Javadoc output format is still in Alpha, so you may find bugs and experience migration issues when using it. Successful integration with tools that accept Java's Javadoc HTML as input is not guaranteed. You use it at your own risk.

Dokka's Javadoc output format is a lookalike of Java's Javadoc HTML format.

It tries to visually mimic HTML pages generated by the Javadoc tool, but it's not a direct implementation or an exact copy.

Screenshot of javadoc output format

All Kotlin code and signatures are rendered as seen from Java's perspective. This is achieved with our Kotlin as Java Dokka plugin, which comes bundled and applied by default for this format.

The Javadoc output format is implemented as a Dokka plugin, and it is maintained by the Dokka team. It is open source and you can find the source code on GitHub.

Generate Javadoc documentation

The Javadoc format does not support multiplatform projects.


【Gradle】

The Gradle plugin for Dokka comes with the Javadoc output format included. You can use the following tasks:

Task Description
dokkaJavadoc Generates Javadoc documentation for a single project.
dokkaJavadocCollector A Collector task created only for parent projects in multi-project builds. It calls dokkaJavadoc for every subproject and merges all outputs into a single virtual project.

The javadoc.jar file can be generated separately. For more information, see Building javadoc.jar.


【Maven】

The Maven plugin for Dokka comes with the Javadoc output format built in. You can generate documentation by using the following goals:

Goal Description
dokka:javadoc Generates documentation in Javadoc format
dokka:javadocJar Generates a javadoc.jar file that contains documentation in Javadoc format

【CLI】

Since the Javadoc output format is a Dokka plugin, you need to download the plugin's JAR file.

The Javadoc output format has two dependencies that you need to provide as additional JAR files:

Via command line options:

java -jar dokka-cli-1.9.20.jar \
     -pluginsClasspath "./dokka-base-1.9.20.jar;...;./javadoc-plugin-1.9.20.jar" \
     ...

Via JSON configuration:

{
  ...
  "pluginsClasspath": [
    "./dokka-base-1.9.20.jar",
    "...",
    "./kotlin-as-java-plugin-1.9.20.jar",
    "./korte-jvm-3.3.0.jar",
    "./javadoc-plugin-1.9.20.jar"
  ],
  ...
}

For more information, see Other output formats in the CLI runner's documentation.