Hello.java API Document

This section provides a tutorial example of how to generated a Java API document for the Hello.java class with 'javadoc' command.

To get started learning the "javadoc" command, let's try it on the Hello.java program.

herong> more Hello.java

class Hello {
   public static void main(String[] a) {
      System.out.println("Hello world!");

herong> javadoc Hello.java

Loading source file Hello.java...
Constructing Javadoc information...
error: No public or protected classes found to document.
1 error

Looks like "javadoc" only documents "protected" and "protected" classes by default. To make it work for the Hello class, we just need to specify the "-private" option.

herong$ javadoc -private Hello.java

Loading source file Hello.java...
Constructing Javadoc information...
Building index for all the packages and classes...
Standard Doclet version 17.0.1+12-LTS-39
Building tree for all the packages and classes...
Generating .\Hello.html...
Hello.java:1: warning: no comment
class Hello {
Hello.java:2: warning: no comment
   public static void main(String[] a) {
Generating .\package-summary.html...
Generating .\package-tree.html...
Generating .\overview-tree.html...
Building index for all classes...
Generating .\allclasses-index.html...
Generating .\allpackages-index.html...
Generating .\index-all.html...
Generating .\index.html...
Generating .\help-doc.html...
2 warnings

Not too bad. I only got 2 warnings: "no comment" on the "Hello" class and "no comment" on the "main()" method.

Now, let's what files are generated by "javadoc":

herong$ ls -l

-rw-r--r--   7784  Hello.html
-rw-r--r--    107  Hello.java
-rw-r--r--   3395  allclasses-index.html
-rw-r--r--   3366  allpackages-index.html
-rw-r--r--   3043  constant-values.html
-rw-r--r--   2958  deprecated-list.html
-rw-r--r--     16  element-list
-rw-r--r--   7878  help-doc.html
-rw-r--r--   3989  index-all.html
-rw-r--r--    869  index.html
-rw-r--r--    464  jquery-ui.overrides.css
-rw-r--r--    189  member-search-index.js
-rw-r--r--     45  module-search-index.js
-rw-r--r--   3092  overview-tree.html
-rw-r--r--     95  package-search-index.js
-rw-r--r--   3451  package-summary.html
-rw-r--r--   3209  package-tree.html
drwxr-xr-x    136  resources
drwxr-xr-x    238  script-dir
-rw-r--r--   2565  script.js
-rw-r--r--  13238  search.js
-rw-r--r--  19763  stylesheet.css
-rw-r--r--     42  tag-search-index.js
-rw-r--r--    120  type-search-index.js
20 File(s)         75,410 bytes

Wow! "javadoc" generated so many files for just a single short Java class file.

As you can see from the file list, Java API documents are generated as Web files (HTML documents). If you open "index.html" in a Web browser, you should see the "Hello" class API document nicely displayed.

javadoc - Hello.java API Document
javadoc - Hello.java API Document

Table of Contents

 About This Book

 Java Tools Terminology

 Java Tools Included in JDK

 javac - The Java Program Compiler

 java - The Java Program Launcher

 jar - The JAR File Tool

 jlink - The JRE Linker

 jmod - The JMOD File Tool

 jimage - The JIMAGE File Tool

 jpackage - Binary Package Builder

javadoc - The Java Document Generator

 javadoc - Document Generator Command and Options

Hello.java API Document

 HelloDocumented.java - javadoc-Style Comments

 Generate API Document for Java Package

 jdeps - The Java Class Dependency Analyzer

 jdeprscan - The Java Deprecated API Scanner

 jdb - The Java Debugger

 jcmd - The JVM Diagnostic Tool

 jconsole - Java Monitoring and Management Console

 jstat - JVM Statistics Monitoring Tool

 JVM Troubleshooting Tools

 jhsdb - The Java HotSpot Debugger

 jvisualvm (Java VisualVM) - JVM Visual Tool

 jmc - Java Mission Control

 javap - The Java Class File Disassembler

 keytool - Public Key Certificate Tool

 jarsigner - JAR File Signer

 jshell - Java Language Shell

 jrunscript - Script Code Shell

 Miscellaneous Tools

 native2ascii - Native-to-ASCII Encoding Converter

 JAB (Java Access Bridge) for Windows

 Archived Tutorials


 Full Version in PDF/EPUB