| .\" Copyright (c) 1994, 2022, Oracle and/or its affiliates. All rights reserved. |
| .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
| .\" |
| .\" This code is free software; you can redistribute it and/or modify it |
| .\" under the terms of the GNU General Public License version 2 only, as |
| .\" published by the Free Software Foundation. |
| .\" |
| .\" This code is distributed in the hope that it will be useful, but WITHOUT |
| .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
| .\" version 2 for more details (a copy is included in the LICENSE file that |
| .\" accompanied this code). |
| .\" |
| .\" You should have received a copy of the GNU General Public License version |
| .\" 2 along with this work; if not, write to the Free Software Foundation, |
| .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
| .\" |
| .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
| .\" or visit www.oracle.com if you need additional information or have any |
| .\" questions. |
| .\" |
| .\" Automatically generated by Pandoc 2.19.2 |
| .\" |
| .\" Define V font for inline verbatim, using C font in formats |
| .\" that render this, and otherwise B font. |
| .ie "\f[CB]x\f[R]"x" \{\ |
| . ftr V B |
| . ftr VI BI |
| . ftr VB B |
| . ftr VBI BI |
| .\} |
| .el \{\ |
| . ftr V CR |
| . ftr VI CI |
| . ftr VB CB |
| . ftr VBI CBI |
| .\} |
| .TH "JAVADOC" "1" "2023" "JDK 21" "JDK Commands" |
| .hy |
| .SH NAME |
| .PP |
| javadoc - generate HTML pages of API documentation from Java source |
| files |
| .SH SYNOPSIS |
| .PP |
| \f[V]javadoc\f[R] [\f[I]options\f[R]] [\f[I]packagenames\f[R]] |
| [\f[I]sourcefiles\f[R]] [\f[V]\[at]\f[R]\f[I]files\f[R]] |
| .TP |
| \f[I]options\f[R] |
| Specifies command-line options, separated by spaces. |
| See \f[B]Standard \f[VB]javadoc\f[B] Options\f[R], \f[B]Extra |
| \f[VB]javadoc\f[B] Options\f[R], \f[B]Standard Options for the Standard |
| Doclet\f[R], and \f[B]Extra Options for the Standard Doclet\f[R]. |
| .TP |
| \f[I]packagenames\f[R] |
| Specifies names of packages that you want to document, separated by |
| spaces, for example \f[V]java.lang java.lang.reflect java.awt\f[R]. |
| If you want to also document the subpackages, then use the |
| \f[V]-subpackages\f[R] option to specify the packages. |
| .RS |
| .PP |
| By default, \f[V]javadoc\f[R] looks for the specified packages in the |
| current directory and subdirectories. |
| Use the \f[V]-sourcepath\f[R] option to specify the list of directories |
| where to look for packages. |
| .RE |
| .TP |
| \f[I]sourcefiles\f[R] |
| Specifies names of Java source files that you want to document, |
| separated by spaces, for example |
| \f[V]Class.java Object.java Button.java\f[R]. |
| By default, \f[V]javadoc\f[R] looks for the specified classes in the |
| current directory. |
| However, you can specify the full path to the class file and use |
| wildcard characters, for example |
| \f[V]/home/src/java/awt/Graphics*.java\f[R]. |
| You can also specify the path relative to the current directory. |
| .TP |
| \f[V]\[at]\f[R]\f[I]files\f[R] |
| Specifies names of files that contain a list of \f[V]javadoc\f[R] tool |
| options, package names, and source file names in any order. |
| .SH DESCRIPTION |
| .PP |
| The \f[V]javadoc\f[R] tool parses the declarations and documentation |
| comments in a set of Java source files and produces corresponding HTML |
| pages that describe (by default) the public and protected classes, |
| nested and unnamed classes (but not anonymous inner classes), |
| interfaces, constructors, methods, and fields. |
| You can use the\f[V]javadoc\f[R] tool to generate the API documentation |
| or the implementation documentation for a set of source files. |
| .PP |
| You can run the \f[V]javadoc\f[R] tool on entire packages, individual |
| source files, or both. |
| When documenting entire packages, you can use the \f[V]-subpackages\f[R] |
| option either to recursively traverse a directory and its |
| subdirectories, or to pass in an explicit list of package names. |
| When you document individual source files, pass in a list of Java source |
| file names. |
| .SS Conformance |
| .PP |
| The Standard Doclet does not validate the content of documentation |
| comments for conformance, nor does it attempt to correct any errors in |
| documentation comments. |
| Anyone running javadoc is advised to be aware of the problems that may |
| arise when generating non-conformant output or output containing |
| executable content, such as JavaScript. |
| The Standard Doclet does provide the \f[B]DocLint\f[R] feature to help |
| developers detect common problems in documentation comments; but it is |
| also recommended to check the generated output with any appropriate |
| conformance and other checking tools. |
| .PP |
| For more details on the conformance requirements for HTML5 documents, |
| see \f[B]Conformance requirements\f[R] |
| [https://www.w3.org/TR/html5/infrastructure.html#conformance-requirements] |
| in the HTML5 Specification. |
| For more details on security issues related to web pages, see the |
| \f[B]Open Web Application Security Project (OWASP)\f[R] |
| [https://www.owasp.org] page. |
| .SH OPTIONS |
| .PP |
| \f[V]javadoc\f[R] supports command-line options for both the main |
| \f[V]javadoc\f[R] tool and the currently selected doclet. |
| The Standard Doclet is used if no other doclet is specified. |
| .PP |
| GNU-style options (that is, those beginning with \f[V]--\f[R]) can use |
| an equal sign (\f[V]=\f[R]) instead of whitespace characters to separate |
| the name of an option from its value. |
| .SS Standard \f[V]javadoc\f[R] Options |
| .PP |
| The following core \f[V]javadoc\f[R] options are equivalent to |
| corresponding \f[V]javac\f[R] options. |
| See \f[I]Standard Options\f[R] in \f[B]javac\f[R] for the detailed |
| descriptions of using these options: |
| .IP \[bu] 2 |
| \f[V]--add-modules\f[R] |
| .IP \[bu] 2 |
| \f[V]-bootclasspath\f[R] |
| .IP \[bu] 2 |
| \f[V]--class-path\f[R], \f[V]-classpath\f[R], or \f[V]-cp\f[R] |
| .IP \[bu] 2 |
| \f[V]--enable-preview\f[R] |
| .IP \[bu] 2 |
| \f[V]-encoding\f[R] |
| .IP \[bu] 2 |
| \f[V]-extdirs\f[R] |
| .IP \[bu] 2 |
| \f[V]--limit-modules\f[R] |
| .IP \[bu] 2 |
| \f[V]--module\f[R] |
| .IP \[bu] 2 |
| \f[V]--module-path\f[R] or \f[V]-p\f[R] |
| .IP \[bu] 2 |
| \f[V]--module-source-path\f[R] |
| .IP \[bu] 2 |
| \f[V]--release\f[R] |
| .IP \[bu] 2 |
| \f[V]--source\f[R] or \f[V]-source\f[R] |
| .IP \[bu] 2 |
| \f[V]--source-path\f[R] or \f[V]-sourcepath\f[R] |
| .IP \[bu] 2 |
| \f[V]--system\f[R] |
| .IP \[bu] 2 |
| \f[V]--upgrade-module-path\f[R] |
| .PP |
| The following options are the core \f[V]javadoc\f[R] options that are |
| not equivalent to a corresponding \f[V]javac\f[R] option: |
| .TP |
| \f[V]-breakiterator\f[R] |
| Computes the first sentence with \f[V]BreakIterator\f[R]. |
| The first sentence is copied to the package, class, or member summary |
| and to the alphabetic index. |
| The \f[V]BreakIterator\f[R] class is used to determine the end of a |
| sentence for all languages except for English. |
| .RS |
| .IP \[bu] 2 |
| English default sentence-break algorithm --- Stops at a period followed |
| by a space or an HTML block tag, such as \f[V]<P>\f[R]. |
| .IP \[bu] 2 |
| Breakiterator sentence-break algorithm --- Stops at a period, question |
| mark, or exclamation point followed by a space when the next word starts |
| with a capital letter. |
| This is meant to handle most abbreviations (such as \[dq]The serial no. |
| is valid\[dq], but will not handle \[dq]Mr. |
| Smith\[dq]). |
| The \f[V]-breakiterator\f[R] option doesn\[aq]t stop at HTML tags or |
| sentences that begin with numbers or symbols. |
| The algorithm stops at the last period in \f[V]../filename\f[R], even |
| when embedded in an HTML tag. |
| .RE |
| .TP |
| \f[V]-doclet\f[R] \f[I]class\f[R] |
| Generates output by using an alternate doclet. |
| Use the fully qualified name. |
| This doclet defines the content and formats the output. |
| If the \f[V]-doclet\f[R] option isn\[aq]t used, then the |
| \f[V]javadoc\f[R] tool uses the standard doclet for generating the |
| default HTML format. |
| This class must contain the \f[V]start(Root)\f[R] method. |
| The path to this starting class is defined by the \f[V]-docletpath\f[R] |
| option. |
| .TP |
| \f[V]-docletpath\f[R] \f[I]path\f[R] |
| Specifies where to find doclet class files (specified with the |
| \f[V]-doclet\f[R] option) and any JAR files it depends on. |
| If the starting class file is in a JAR file, then this option specifies |
| the path to that JAR file. |
| You can specify an absolute path or a path relative to the current |
| directory. |
| If \f[V]classpathlist\f[R] contains multiple paths or JAR files, then |
| they should be separated with a colon (\f[V]:\f[R]) on Linux and a |
| semi-colon (\f[V];\f[R]) on Windows. |
| This option isn\[aq]t necessary when the \f[V]doclet\f[R] starting class |
| is already in the search path. |
| .TP |
| \f[V]-exclude\f[R] \f[I]pkglist\f[R] |
| Unconditionally, excludes the specified packages and their subpackages |
| from the list formed by \f[V]-subpackages\f[R]. |
| It excludes those packages even when they would otherwise be included by |
| some earlier or later \f[V]-subpackages\f[R] option. |
| .RS |
| .PP |
| The following example would include \f[V]java.io\f[R], |
| \f[V]java.util\f[R], and \f[V]java.math\f[R] (among others), but would |
| exclude packages rooted at \f[V]java.net\f[R] and \f[V]java.lang\f[R]. |
| Notice that these examples exclude \f[V]java.lang.ref\f[R], which is a |
| subpackage of \f[V]java.lang\f[R]. |
| .IP \[bu] 2 |
| \f[B]Linux and macOS:\f[R] |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -sourcepath /home/user/src -subpackages java -exclude java.net:java.lang |
| \f[R] |
| .fi |
| .RE |
| .IP \[bu] 2 |
| \f[B]Windows:\f[R] |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -sourcepath \[rs]user\[rs]src -subpackages java -exclude java.net:java.lang |
| \f[R] |
| .fi |
| .RE |
| .RE |
| .TP |
| \f[V]--expand-requires\f[R] \f[I]value\f[R] |
| Instructs the javadoc tool to expand the set of modules to be |
| documented. |
| By default, only the modules given explicitly on the command line are |
| documented. |
| Supports the following values: |
| .RS |
| .IP \[bu] 2 |
| \f[V]transitive\f[R]: additionally includes all the required transitive |
| dependencies of those modules. |
| .IP \[bu] 2 |
| \f[V]all\f[R]: includes all dependencies. |
| .RE |
| .TP |
| \f[V]--help\f[R], \f[V]-help\f[R], \f[V]-h\f[R], or \f[V]-?\f[R] |
| Prints a synopsis of the standard options. |
| .TP |
| \f[V]--help-extra\f[R] or \f[V]-X\f[R] |
| Prints a synopsis of the set of extra options. |
| .TP |
| \f[V]-J\f[R]\f[I]flag\f[R] |
| Passes \f[I]flag\f[R] directly to the Java Runtime Environment (JRE) |
| that runs the \f[V]javadoc\f[R] tool. |
| For example, if you must ensure that the system sets aside 32 MB of |
| memory in which to process the generated documentation, then you would |
| call the \f[V]-Xmx\f[R] option as follows: |
| \f[V]javadoc -J-Xmx32m -J-Xms32m com.mypackage\f[R]. |
| Be aware that \f[V]-Xms\f[R] is optional because it only sets the size |
| of initial memory, which is useful when you know the minimum amount of |
| memory required. |
| .RS |
| .PP |
| There is no space between the \f[V]J\f[R] and the \f[V]flag\f[R]. |
| .PP |
| Use the \f[V]-version\f[R] option to report the version of the JRE being |
| used to run the \f[V]javadoc\f[R] tool. |
| .IP |
| .nf |
| \f[CB] |
| javadoc -J-version |
| java version \[dq]17\[dq] 2021-09-14 LTS |
| Java(TM) SE Runtime Environment (build 17+35-LTS-2724) |
| Java HotSpot(TM) 64-Bit Server VM (build 17+35-LTS-2724, mixed mode, sharing) |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]-locale\f[R] \f[I]name\f[R] |
| Specifies the locale that the \f[V]javadoc\f[R] tool uses when it |
| generates documentation. |
| The argument is the name of the locale, as described in |
| \f[V]java.util.Locale\f[R] documentation, such as \f[V]en_US\f[R] |
| (English, United States) or \f[V]en_US_WIN\f[R] (Windows variant). |
| .RS |
| .PP |
| Specifying a locale causes the \f[V]javadoc\f[R] tool to choose the |
| resource files of that locale for messages such as strings in the |
| navigation bar, headings for lists and tables, help file contents, |
| comments in the \f[V]stylesheet.css\f[R] file, and so on. |
| It also specifies the sorting order for lists sorted alphabetically, and |
| the sentence separator to determine the end of the first sentence. |
| The \f[V]-locale\f[R] option doesn\[aq]t determine the locale of the |
| documentation comment text specified in the source files of the |
| documented classes. |
| .RE |
| .TP |
| \f[V]-package\f[R] |
| Shows only package, protected, and public classes and members. |
| .TP |
| \f[V]-private\f[R] |
| Shows all classes and members. |
| .TP |
| \f[V]-protected\f[R] |
| Shows only protected and public classes and members. |
| This is the default. |
| .TP |
| \f[V]-public\f[R] |
| Shows only the public classes and members. |
| .TP |
| \f[V]-quiet\f[R] |
| Shuts off messages so that only the warnings and errors appear to make |
| them easier to view. |
| It also suppresses the \f[V]version\f[R] string. |
| .TP |
| \f[V]--show-members\f[R] \f[I]value\f[R] |
| Specifies which members (fields or methods) are documented, where |
| \f[I]value\f[R] can be any of the following: |
| .RS |
| .IP \[bu] 2 |
| \f[V]public\f[R] --- shows only public members |
| .IP \[bu] 2 |
| \f[V]protected\f[R] --- shows public and protected members; this is the |
| default |
| .IP \[bu] 2 |
| \f[V]package\f[R] --- shows public, protected, and package members |
| .IP \[bu] 2 |
| \f[V]private\f[R] --- shows all members |
| .RE |
| .TP |
| \f[V]--show-module-contents\f[R] \f[I]value\f[R] |
| Specifies the documentation granularity of module declarations, where |
| \f[I]value\f[R] can be \f[V]api\f[R] or \f[V]all\f[R]. |
| .TP |
| \f[V]--show-packages\f[R] \f[I]value\f[R] |
| Specifies which modules packages are documented, where \f[I]value\f[R] |
| can be \f[V]exported\f[R] or \f[V]all\f[R] packages. |
| .TP |
| \f[V]--show-types\f[R] \f[I]value\f[R] |
| Specifies which types (classes, interfaces, etc.) |
| are documented, where \f[I]value\f[R] can be any of the following: |
| .RS |
| .IP \[bu] 2 |
| \f[V]public\f[R] --- shows only public types |
| .IP \[bu] 2 |
| \f[V]protected\f[R] --- shows public and protected types; this is the |
| default |
| .IP \[bu] 2 |
| \f[V]package\f[R] --- shows public, protected, and package types |
| .IP \[bu] 2 |
| \f[V]private\f[R] --- shows all types |
| .RE |
| .TP |
| \f[V]-subpackages\f[R] \f[I]subpkglist\f[R] |
| Generates documentation from source files in the specified packages and |
| recursively in their subpackages. |
| This option is useful when adding new subpackages to the source code |
| because they are automatically included. |
| Each package argument is any top-level subpackage (such as |
| \f[V]java\f[R]) or fully qualified package (such as |
| \f[V]javax.swing\f[R]) that doesn\[aq]t need to contain source files. |
| Arguments are separated by colons on all operating systems. |
| Wild cards aren\[aq]t allowed. |
| Use \f[V]-sourcepath\f[R] to specify where to find the packages. |
| This option doesn\[aq]t process source files that are in the source tree |
| but don\[aq]t belong to the packages. |
| .RS |
| .PP |
| For example, the following commands generates documentation for packages |
| named \f[V]java\f[R] and \f[V]javax.swing\f[R] and all of their |
| subpackages. |
| .IP \[bu] 2 |
| \f[B]Linux and macOS:\f[R] |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -d docs -sourcepath /home/user/src -subpackages java:javax.swing |
| \f[R] |
| .fi |
| .RE |
| .IP \[bu] 2 |
| \f[B]Windows:\f[R] |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -d docs -sourcepath \[rs]user\[rs]src -subpackages java:javax.swing |
| \f[R] |
| .fi |
| .RE |
| .RE |
| .TP |
| \f[V]-verbose\f[R] |
| Provides more detailed messages while the \f[V]javadoc\f[R] tool runs. |
| Without the \f[V]-verbose\f[R] option, messages appear for loading the |
| source files, generating the documentation (one message per source |
| file), and sorting. |
| The \f[V]-verbose\f[R] option causes the printing of additional messages |
| that specify the number of milliseconds to parse each Java source file. |
| .TP |
| \f[V]--version\f[R] |
| Prints version information. |
| .TP |
| \f[V]-Werror\f[R] |
| Reports an error if any warnings occur. |
| .SS Extra \f[V]javadoc\f[R] Options |
| .PP |
| \f[I]Note:\f[R] The additional options for \f[V]javadoc\f[R] are subject |
| to change without notice. |
| .PP |
| The following additional \f[V]javadoc\f[R] options are equivalent to |
| corresponding \f[V]javac\f[R] options. |
| See \f[I]Extra Options\f[R] in \f[B]javac\f[R] for the detailed |
| descriptions of using these options: |
| .IP \[bu] 2 |
| \f[V]--add-exports\f[R] |
| .IP \[bu] 2 |
| \f[V]--add-reads\f[R] |
| .IP \[bu] 2 |
| \f[V]--patch-module\f[R] |
| .IP \[bu] 2 |
| \f[V]-Xmaxerrs\f[R] |
| .IP \[bu] 2 |
| \f[V]-Xmaxwarns\f[R] |
| .SS Standard Options for the Standard Doclet |
| .PP |
| The following options are provided by the standard doclet. |
| .TP |
| \f[V]--add-script\f[R] \f[I]file\f[R] |
| Adds \f[I]file\f[R] as an additional JavaScript file to the generated |
| documentation. |
| This option can be used one or more times to specify additional script |
| files. |
| .RS |
| .PP |
| Command-line example: |
| .RS |
| .PP |
| \f[V]javadoc --add-script first_script.js --add-script second_script.js pkg_foo\f[R] |
| .RE |
| .RE |
| .TP |
| \f[V]--add-stylesheet\f[R] \f[I]file\f[R] |
| Adds \f[I]file\f[R] as an additional stylesheet file to the generated |
| documentation. |
| This option can be used one or more times to specify additional |
| stylesheets included in the documentation. |
| .RS |
| .PP |
| Command-line example: |
| .IP |
| .nf |
| \f[CB] |
| javadoc --add-stylesheet new_stylesheet_1.css --add-stylesheet new_stylesheet_2.css pkg_foo |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]--allow-script-in-comments\f[R] |
| Allow JavaScript in options and comments. |
| .TP |
| \f[V]-author\f[R] |
| Includes the \f[V]\[at]author\f[R] text in the generated docs. |
| .TP |
| \f[V]-bottom\f[R] \f[I]html-code\f[R] |
| Specifies the text to be placed at the bottom of each output file. |
| The text is placed at the bottom of the page, underneath the lower |
| navigation bar. |
| The text can contain HTML tags and white space, but when it does, the |
| text must be enclosed in quotation marks. |
| Use escape characters for any internal quotation marks within text. |
| .TP |
| \f[V]-charset\f[R] \f[I]name\f[R] |
| Specifies the HTML character set for this document. |
| The name should be a preferred MIME name as specified in the \f[B]IANA |
| Registry, Character Sets\f[R] |
| [http://www.iana.org/assignments/character-sets]. |
| .RS |
| .PP |
| For example: |
| .IP |
| .nf |
| \f[CB] |
| javadoc -charset \[dq]iso-8859-1\[dq] mypackage |
| \f[R] |
| .fi |
| .PP |
| This command inserts the following line in the head of every generated |
| page: |
| .IP |
| .nf |
| \f[CB] |
| <meta http-equiv=\[dq]Content-Type\[dq] content=\[dq]text/html; charset=ISO-8859-1\[dq]> |
| \f[R] |
| .fi |
| .PP |
| The \f[V]meta\f[R] tag is described in the \f[B]HTML standard (4197265 |
| and 4137321), HTML Document Representation\f[R] |
| [http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2]. |
| .RE |
| .TP |
| \f[V]-d\f[R] \f[I]directory\f[R] |
| Specifies the destination directory where the \f[V]javadoc\f[R] tool |
| saves the generated HTML files. |
| If you omit the \f[V]-d\f[R] option, then the files are saved to the |
| current directory. |
| The \f[V]directory\f[R] value can be absolute or relative to the current |
| working directory. |
| The destination directory is automatically created when the |
| \f[V]javadoc\f[R] tool runs. |
| .RS |
| .IP \[bu] 2 |
| \f[B]Linux and macOS:\f[R] For example, the following command generates |
| the documentation for the package \f[V]com.mypackage\f[R] and saves the |
| results in the \f[V]/user/doc/\f[R] directory: |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -d /user/doc/ com.mypackage |
| \f[R] |
| .fi |
| .RE |
| .IP \[bu] 2 |
| \f[B]Windows:\f[R] For example, the following command generates the |
| documentation for the package \f[V]com.mypackage\f[R] and saves the |
| results in the \f[V]\[rs]user\[rs]doc\[rs]\f[R] directory: |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -d \[rs]user\[rs]doc\[rs] com.mypackage |
| \f[R] |
| .fi |
| .RE |
| .RE |
| .TP |
| \f[V]-docencoding\f[R] \f[I]name\f[R] |
| Specifies the encoding of the generated HTML files. |
| The name should be a preferred MIME name as specified in the \f[B]IANA |
| Registry, Character Sets\f[R] |
| [http://www.iana.org/assignments/character-sets]. |
| .RS |
| .PP |
| Three options are available for use in a \f[V]javadoc\f[R] encoding |
| command. |
| The \f[V]-encoding\f[R] option is used for encoding the files read by |
| the \f[V]javadoc\f[R] tool, while the \f[V]-docencoding\f[R] and |
| \f[V]-charset\f[R] options are used for encoding the files written by |
| the tool. |
| Of the three available options, at most, only the input and an output |
| encoding option are used in a single encoding command. |
| If you specify both input and output encoding options in a command, they |
| must be the same value. |
| If you specify neither output option, it defaults to the input encoding. |
| .PP |
| For example: |
| .IP |
| .nf |
| \f[CB] |
| javadoc -docencoding \[dq]iso-8859-1\[dq] mypackage |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]-docfilessubdirs\f[R] |
| Recursively copies doc-file subdirectories. |
| Enables deep copying of doc-files directories. |
| Subdirectories and all contents are recursively copied to the |
| destination. |
| For example, the directory \f[V]doc-files/example/images\f[R] and all of |
| its contents are copied. |
| The \f[B]\f[VB]-excludedocfilessubdir\f[B]\f[R] option can be used to |
| exclude specific subdirectories. |
| .TP |
| \f[V]-doctitle\f[R] \f[I]html-code\f[R] |
| Specifies the title to place near the top of the overview summary file. |
| The text specified in the \f[V]title\f[R] tag is placed as a centered, |
| level-one heading directly beneath the top navigation bar. |
| The \f[V]title\f[R] tag can contain HTML tags and white space, but when |
| it does, you must enclose the title in quotation marks. |
| Additional quotation marks within the \f[V]title\f[R] tag must be |
| escaped. |
| For example, |
| \f[V]javadoc -doctitle \[dq]<b>My Library</b><br>v1.0\[dq] com.mypackage\f[R]. |
| .TP |
| \f[V]-excludedocfilessubdir\f[R] \f[I]name1\f[R]\f[V],\f[R]\f[I]name2...\f[R] |
| Excludes any subdirectories with the given names when recursively |
| copying doc-file subdirectories. |
| See \f[B]\f[VB]-docfilessubdirs\f[B]\f[R]. |
| For historical reasons, \f[V]:\f[R] can be used anywhere in the argument |
| as a separator instead of \f[V],\f[R]. |
| .TP |
| \f[V]-footer\f[R] \f[I]html-code\f[R] |
| Specifies the footer text to be placed at the bottom of each output |
| file. |
| The\f[V]html-code\f[R] value is placed to the right of the lower |
| navigation bar. |
| The \f[V]html-code\f[R] value can contain HTML tags and white space, but |
| when it does, the \f[V]html-code\f[R] value must be enclosed in |
| quotation marks. |
| Use escape characters for any internal quotation marks within a footer. |
| .TP |
| \f[V]-group\f[R] \f[I]name\f[R] \f[I]p1\f[R]\f[V],\f[R]\f[I]p2...\f[R] |
| Group the specified packages together in the Overview page. |
| For historical reasons, \f[V]:\f[R] can be used as a separator anywhere |
| in the argument instead of \f[V],\f[R]. |
| .TP |
| \f[V]-header\f[R] \f[I]html-code\f[R] |
| Specifies the header text to be placed at the top of each output file. |
| The header is placed to the right of the upper navigation bar. |
| The \f[V]header\f[R] can contain HTML tags and white space, but when it |
| does, the \f[V]header\f[R] must be enclosed in quotation marks. |
| Use escape characters for internal quotation marks within a header. |
| For example, |
| \f[V]javadoc -header \[dq]<b>My Library</b><br>v1.0\[dq] com.mypackage\f[R]. |
| .TP |
| \f[V]-helpfile\f[R] \f[I]filename\f[R] |
| Includes the file that links to the \f[B]HELP\f[R] link in the top and |
| bottom navigation bars . |
| Without this option, the \f[V]javadoc\f[R] tool creates a help file |
| \f[V]help-doc.html\f[R] that is hard-coded in the \f[V]javadoc\f[R] |
| tool. |
| This option lets you override the default. |
| The \f[I]filename\f[R] can be any name and isn\[aq]t restricted to |
| \f[V]help-doc.html\f[R]. |
| The \f[V]javadoc\f[R] tool adjusts the links in the navigation bar |
| accordingly. |
| For example: |
| .RS |
| .IP \[bu] 2 |
| \f[B]Linux and macOS:\f[R] |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -helpfile /home/user/myhelp.html java.awt |
| \f[R] |
| .fi |
| .RE |
| .IP \[bu] 2 |
| \f[B]Windows:\f[R] |
| .RS 2 |
| .IP |
| .nf |
| \f[CB] |
| javadoc -helpfile C:\[rs]user\[rs]myhelp.html java.awt |
| \f[R] |
| .fi |
| .RE |
| .RE |
| .TP |
| \f[V]-html5\f[R] |
| This option is a no-op and is just retained for backwards compatibility. |
| .TP |
| \f[V]--javafx\f[R] or \f[V]-javafx\f[R] |
| Enables JavaFX functionality. |
| This option is enabled by default if the JavaFX library classes are |
| detected on the module path. |
| .TP |
| \f[V]-keywords\f[R] |
| Adds HTML keyword \f[V]<meta>\f[R] tags to the generated file for each |
| class. |
| These tags can help search engines that look for \f[V]<meta>\f[R] tags |
| find the pages. |
| Most search engines that search the entire Internet don\[aq]t look at |
| \f[V]<meta>\f[R] tags, because pages can misuse them. |
| Search engines offered by companies that confine their searches to their |
| own website can benefit by looking at \f[V]<meta>\f[R] tags. |
| The \f[V]<meta>\f[R] tags include the fully qualified name of the class |
| and the unqualified names of the fields and methods. |
| Constructors aren\[aq]t included because they are identical to the class |
| name. |
| For example, the class \f[V]String\f[R] starts with these keywords: |
| .RS |
| .IP |
| .nf |
| \f[CB] |
| <meta name=\[dq]keywords\[dq] content=\[dq]java.lang.String class\[dq]> |
| <meta name=\[dq]keywords\[dq] content=\[dq]CASE_INSENSITIVE_ORDER\[dq]> |
| <meta name=\[dq]keywords\[dq] content=\[dq]length()\[dq]> |
| <meta name=\[dq]keywords\[dq] content=\[dq]charAt()\[dq]> |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]-link\f[R] \f[I]url\f[R] |
| Creates links to existing \f[V]javadoc\f[R] generated documentation of |
| externally referenced classes. |
| The \f[I]url\f[R] argument is the absolute or relative URL of the |
| directory that contains the external \f[V]javadoc\f[R] generated |
| documentation. |
| You can specify multiple \f[V]-link\f[R] options in a specified |
| \f[V]javadoc\f[R] tool run to link to multiple documents. |
| .RS |
| .PP |
| Either a \f[V]package-list\f[R] or an \f[V]element-list\f[R] file must |
| be in this \f[I]url\f[R] directory (otherwise, use the |
| \f[V]-linkoffline\f[R] option). |
| .PP |
| \f[I]Note:\f[R] The \f[V]package-list\f[R] and \f[V]element-list\f[R] |
| files are generated by the \f[V]javadoc\f[R] tool when generating the |
| API documentation and should not be modified by the user. |
| .PP |
| When you use the \f[V]javadoc\f[R] tool to document packages, it uses |
| the \f[V]package-list\f[R] file to determine the packages declared in an |
| API. |
| When you generate API documents for modules, the \f[V]javadoc\f[R] tool |
| uses the \f[V]element-list\f[R] file to determine the modules and |
| packages declared in an API. |
| .PP |
| The \f[V]javadoc\f[R] tool reads the names from the appropriate list |
| file and then links to the packages or modules at that URL. |
| .PP |
| When the \f[V]javadoc\f[R] tool runs, the \f[I]url\f[R] value is copied |
| into the \f[V]<A HREF>\f[R] links that are created. |
| Therefore, \f[I]url\f[R] must be the URL to the directory and not to a |
| file. |
| .PP |
| You can use an absolute link for \f[I]url\f[R] to enable your documents |
| to link to a document on any web site, or you can use a relative link to |
| link only to a relative location. |
| If you use a relative link, then the value you pass in should be the |
| relative path from the destination directory (specified with the |
| \f[V]-d\f[R] option) to the directory containing the packages being |
| linked to. |
| When you specify an absolute link, you usually use an HTTP link. |
| However, if you want to link to a file system that has no web server, |
| then you can use a file link. |
| Use a file link only when everyone who wants to access the generated |
| documentation shares the same file system. |
| In all cases, and on all operating systems, use a slash as the |
| separator, whether the URL is absolute or relative, and |
| \f[V]https:\f[R], \f[V]http:\f[R], or \f[V]file:\f[R] as specified in |
| the \f[B]URL Memo: Uniform Resource Locators\f[R] |
| [http://www.ietf.org/rfc/rfc1738.txt]. |
| .IP |
| .nf |
| \f[CB] |
| -link https://<host>/<directory>/<directory>/.../<name> |
| -link http://<host>/<directory>/<directory>/.../<name> |
| -link file://<host>/<directory>/<directory>/.../<name> |
| -link <directory>/<directory>/.../<name> |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]--link-modularity-mismatch\f[R] (\f[V]warn\f[R]|\f[V]info\f[R]) |
| Specifies whether external documentation with wrong modularity (e.g. |
| non-modular documentation for a modular library, or the reverse case) |
| should be reported as a warning (\f[V]warn\f[R]) or just a message |
| (\f[V]info\f[R]). |
| The default behavior is to report a warning. |
| .TP |
| \f[V]-linkoffline\f[R] \f[I]url1\f[R] \f[I]url2\f[R] |
| This option is a variation of the \f[V]-link\f[R] option. |
| They both create links to \f[V]javadoc\f[R] generated documentation for |
| externally referenced classes. |
| You can specify multiple \f[V]-linkoffline\f[R] options in a specified |
| \f[V]javadoc\f[R] tool run. |
| .RS |
| .PP |
| Use the \f[V]-linkoffline\f[R] option when: |
| .IP \[bu] 2 |
| Linking to a document on the web that the \f[V]javadoc\f[R] tool |
| can\[aq]t access through a web connection |
| .IP \[bu] 2 |
| The \f[V]package-list\f[R] or \f[V]element-list\f[R] file of the |
| external document either isn\[aq]t accessible or doesn\[aq]t exist at |
| the URL location, but does exist at a different location and can be |
| specified by either the \f[V]package-list\f[R] or \f[V]element-list\f[R] |
| file (typically local). |
| .PP |
| \f[I]Note:\f[R] The \f[V]package-list\f[R] and \f[V]element-list\f[R] |
| files are generated by the \f[V]javadoc\f[R] tool when generating the |
| API documentation and should not be modified by the user. |
| .PP |
| If \f[I]url1\f[R] is accessible only on the World Wide Web, then the |
| \f[V]-linkoffline\f[R] option removes the constraint that the |
| \f[V]javadoc\f[R] tool must have a web connection to generate |
| documentation. |
| .PP |
| Another use of the \f[V]-linkoffline\f[R] option is as a work-around to |
| update documents. |
| After you have run the \f[V]javadoc\f[R] tool on a full set of packages |
| or modules, you can run the \f[V]javadoc\f[R] tool again on a smaller |
| set of changed packages or modules, so that the updated files can be |
| inserted back into the original set. |
| .PP |
| For example, the \f[V]-linkoffline\f[R] option takes two arguments. |
| The first is for the string to be embedded in the \f[V]<a href>\f[R] |
| links, and the second tells the \f[V]javadoc\f[R] tool where to find |
| either the \f[V]package-list\f[R] or \f[V]element-list\f[R] file. |
| .PP |
| The \f[I]url1\f[R] or \f[I]url2\f[R] value is the absolute or relative |
| URL of the directory that contains the external \f[V]javadoc\f[R] |
| generated documentation that you want to link to. |
| When relative, the value should be the relative path from the |
| destination directory (specified with the \f[V]-d\f[R] option) to the |
| root of the packages being linked to. |
| See \f[I]url\f[R] in the \f[V]-link\f[R] option. |
| .RE |
| .TP |
| \f[V]--link-platform-properties\f[R] \f[I]url\f[R] |
| Specifies a properties file used to configure links to platform |
| documentation. |
| .RS |
| .PP |
| The \f[I]url\f[R] argument is expected to point to a properties file |
| containing one or more entries with the following format, where |
| \f[V]<version>\f[R] is the platform version as passed to the |
| \f[V]--release\f[R] or \f[V]--source\f[R] option and \f[V]<url>\f[R] is |
| the base URL of the corresponding platform API documentation: |
| .IP |
| .nf |
| \f[CB] |
| doclet.platform.docs.<version>=<url> |
| \f[R] |
| .fi |
| .PP |
| For instance, a properties file containing URLs for releases 15 to 17 |
| might contain the following lines: |
| .IP |
| .nf |
| \f[CB] |
| doclet.platform.docs.15=https://example.com/api/15/ |
| doclet.platform.docs.16=https://example.com/api/16/ |
| doclet.platform.docs.17=https://example.com/api/17/ |
| \f[R] |
| .fi |
| .PP |
| If the properties file does not contain an entry for a particular |
| release no platform links are generated. |
| .RE |
| .TP |
| \f[V]-linksource\f[R] |
| Creates an HTML version of each source file (with line numbers) and adds |
| links to them from the standard HTML documentation. |
| Links are created for classes, interfaces, constructors, methods, and |
| fields whose declarations are in a source file. |
| Otherwise, links aren\[aq]t created, such as for default constructors |
| and generated classes. |
| .RS |
| .PP |
| This option exposes all private implementation details in the included |
| source files, including private classes, private fields, and the bodies |
| of private methods, regardless of the \f[V]-public\f[R], |
| \f[V]-package\f[R], \f[V]-protected\f[R], and \f[V]-private\f[R] |
| options. |
| Unless you also use the \f[V]-private\f[R] option, not all private |
| classes or interfaces are accessible through links. |
| .PP |
| Each link appears on the name of the identifier in its declaration. |
| For example, the link to the source code of the \f[V]Button\f[R] class |
| would be on the word \f[V]Button\f[R]: |
| .IP |
| .nf |
| \f[CB] |
| public class Button extends Component implements Accessible |
| \f[R] |
| .fi |
| .PP |
| The link to the source code of the \f[V]getLabel\f[R] method in the |
| \f[V]Button\f[R] class is on the word \f[V]getLabel\f[R]: |
| .IP |
| .nf |
| \f[CB] |
| public String getLabel() |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]--main-stylesheet\f[R] \f[I]file\f[R] or \f[V]-stylesheetfile\f[R] \f[I]file\f[R] |
| Specifies the path of an alternate stylesheet file that contains the |
| definitions for the CSS styles used in the generated documentation. |
| This option lets you override the default. |
| If you do not specify the option, the \f[V]javadoc\f[R] tool will create |
| and use a default stylesheet. |
| The file name can be any name and isn\[aq]t restricted to |
| \f[V]stylesheet.css\f[R]. |
| The \f[V]--main-stylesheet\f[R] option is the preferred form. |
| .RS |
| .PP |
| Command-line example: |
| .IP |
| .nf |
| \f[CB] |
| javadoc --main-stylesheet main_stylesheet.css pkg_foo |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]-nocomment\f[R] |
| Suppresses the entire comment body, including the main description and |
| all tags, and generate only declarations. |
| This option lets you reuse source files that were originally intended |
| for a different purpose so that you can produce skeleton HTML |
| documentation during the early stages of a new project. |
| .TP |
| \f[V]-nodeprecated\f[R] |
| Prevents the generation of any deprecated API in the documentation. |
| This does what the \f[V]-nodeprecatedlist\f[R] option does, and it |
| doesn\[aq]t generate any deprecated API throughout the rest of the |
| documentation. |
| This is useful when writing code when you don\[aq]t want to be |
| distracted by the deprecated code. |
| .TP |
| \f[V]-nodeprecatedlist\f[R] |
| Prevents the generation of the file that contains the list of deprecated |
| APIs (\f[V]deprecated-list.html\f[R]) and the link in the navigation bar |
| to that page. |
| The \f[V]javadoc\f[R] tool continues to generate the deprecated API |
| throughout the rest of the document. |
| This is useful when your source code contains no deprecated APIs, and |
| you want to make the navigation bar cleaner. |
| .TP |
| \f[V]-nohelp\f[R] |
| Omits the HELP link in the navigation bar at the top of each page of |
| output. |
| .TP |
| \f[V]-noindex\f[R] |
| Omits the index from the generated documents. |
| The index is produced by default. |
| .TP |
| \f[V]-nonavbar\f[R] |
| Prevents the generation of the navigation bar, header, and footer, that |
| are usually found at the top and bottom of the generated pages. |
| The \f[V]-nonavbar\f[R] option has no effect on the \f[V]-bottom\f[R] |
| option. |
| The \f[V]-nonavbar\f[R] option is useful when you are interested only in |
| the content and have no need for navigation, such as when you are |
| converting the files to PostScript or PDF for printing only. |
| .TP |
| \f[V]--no-platform-links\f[R] |
| Prevents the generation of links to platform documentation. |
| These links are generated by default. |
| .TP |
| \f[V]-noqualifier\f[R] \f[I]name1\f[R]\f[V],\f[R]\f[I]name2...\f[R] |
| Excludes the list of qualifiers from the output. |
| The package name is removed from places where class or interface names |
| appear. |
| For historical reasons, \f[V]:\f[R] can be used anywhere in the argument |
| as a separator instead of \f[V],\f[R]. |
| .RS |
| .PP |
| The following example omits all package qualifiers: |
| \f[V]-noqualifier all\f[R]. |
| .PP |
| The following example omits \f[V]java.lang\f[R] and \f[V]java.io\f[R] |
| package qualifiers: \f[V]-noqualifier java.lang:java.io\f[R]. |
| .PP |
| The following example omits package qualifiers starting with |
| \f[V]java\f[R] and \f[V]com.sun\f[R] subpackages, but not |
| \f[V]javax: -noqualifier java.*:com.sun.*\f[R]. |
| .PP |
| Where a package qualifier would appear due to the previous behavior, the |
| name can be suitably shortened. |
| This rule is in effect whether or not the \f[V]-noqualifier\f[R] option |
| is used. |
| .RE |
| .TP |
| \f[V]-nosince\f[R] |
| Omits from the generated documents the \f[V]Since\f[R] sections |
| associated with the \f[V]\[at]since\f[R] tags. |
| .TP |
| \f[V]-notimestamp\f[R] |
| Suppresses the time stamp, which is hidden in an HTML comment in the |
| generated HTML near the top of each page. |
| The \f[V]-notimestamp\f[R] option is useful when you want to run the |
| \f[V]javadoc\f[R] tool on two source bases and get the differences |
| between \f[V]diff\f[R] them, because it prevents time stamps from |
| causing a \f[V]diff\f[R] (which would otherwise be a \f[V]diff\f[R] on |
| every page). |
| The time stamp includes the \f[V]javadoc\f[R] tool release number. |
| .TP |
| \f[V]-notree\f[R] |
| Omits the class and interface hierarchy pages from the generated |
| documents. |
| These are the pages you reach using the Tree button in the navigation |
| bar. |
| The hierarchy is produced by default. |
| .TP |
| \f[V]--override-methods\f[R] (\f[V]detail\f[R]|\f[V]summary\f[R]) |
| Documents overridden methods in the detail or summary sections. |
| The default is \f[V]detail\f[R]. |
| .TP |
| \f[V]-overview\f[R] \f[I]filename\f[R] |
| Specifies that the \f[V]javadoc\f[R] tool should retrieve the text for |
| the overview documentation from the source file specified by |
| \f[V]filename\f[R] and place it on the Overview page |
| (\f[V]overview-summary.html\f[R]). |
| A relative path specified with the file name is relative to the current |
| working directory. |
| .RS |
| .PP |
| While you can use any name you want for the \f[V]filename\f[R] value and |
| place it anywhere you want for the path, it is typical to name it |
| \f[V]overview.html\f[R] and place it in the source tree at the directory |
| that contains the topmost package directories. |
| In this location, no path is needed when documenting packages, because |
| the \f[V]-sourcepath\f[R] option points to this file. |
| .IP \[bu] 2 |
| \f[B]Linux and macOS:\f[R] For example, if the source tree for the |
| \f[V]java.lang\f[R] package is \f[V]src/classes/java/lang/\f[R], then |
| you could place the overview file at src/classes/overview.html. |
| .IP \[bu] 2 |
| \f[B]Windows:\f[R] For example, if the source tree for the |
| \f[V]java.lang\f[R] package is |
| \f[V]src\[rs]classes\[rs]java\[rs]lang\[rs]\f[R], then you could place |
| the overview file at \f[V]src\[rs]classes\[rs]overview.html\f[R] |
| .PP |
| The overview page is created only when you pass two or more package |
| names to the \f[V]javadoc\f[R] tool. |
| The title on the overview page is set by \f[V]-doctitle\f[R]. |
| .RE |
| .TP |
| \f[V]-serialwarn\f[R] |
| Generates compile-time warnings for missing \f[V]\[at]serial\f[R] tags. |
| By default, Javadoc generates no serial warnings. |
| Use this option to display the serial warnings, which helps to properly |
| document default serializable fields and \f[V]writeExternal\f[R] |
| methods. |
| .TP |
| \f[V]--since\f[R] \f[I]release\f[R](\f[V],\f[R]\f[I]release\f[R])* |
| Generates documentation for APIs that were added or newly deprecated in |
| the specified \f[I]release\f[R]s. |
| .RS |
| .PP |
| If the \f[V]\[at]since\f[R] tag in the \f[V]javadoc\f[R] comment of an |
| element in the documented source code matches a \f[I]release\f[R] passed |
| as option argument, information about the element and the release it was |
| added in is included in a \[dq]New API\[dq] page. |
| .PP |
| If the \[dq]Deprecated API\[dq] page is generated and the |
| \f[V]since\f[R] element of the \f[V]java.lang.Deprecated\f[R] annotation |
| of a documented element matches a \f[I]release\f[R] in the option |
| arguments, information about the release the element was deprecated in |
| is added to the \[dq]Deprecated API\[dq] page. |
| .PP |
| Releases are compared using case-sensitive string comparison. |
| .RE |
| .TP |
| \f[V]--since-label\f[R] \f[I]text\f[R] |
| Specifies the \f[I]text\f[R] to use in the heading of the \[dq]New |
| API\[dq] page. |
| This may contain information about the releases covered in the page, |
| e.g. |
| \[dq]New API in release 2.0\[dq], or \[dq]New API since release 1\[dq]. |
| .TP |
| \f[V]--snippet-path\f[R] \f[I]snippetpathlist\f[R] |
| Specifies the search paths for finding files for external snippets. |
| The \f[I]snippetpathlist\f[R] can contain multiple paths by separating |
| them with the platform path separator (\f[V];\f[R] on Windows; |
| \f[V]:\f[R] on other platforms.) |
| The Standard Doclet first searches the \f[V]snippet-files\f[R] |
| subdirectory in the package containing the snippet, and then searches |
| all the directories in the given list. |
| .TP |
| \f[V]-sourcetab\f[R] \f[I]tab-length\f[R] |
| Specifies the number of spaces each tab uses in the source. |
| .TP |
| \f[V]--spec-base-url\f[R] \f[I]url\f[R] |
| Specifies the base URL for relative URLs in \f[V]\[at]spec\f[R] tags, to |
| be used when generating links to any external specifications. |
| It can either be an absolute URL, or a relative URL, in which case it is |
| evaluated relative to the base directory of the generated output files. |
| The default value is equivalent to \f[V]{\[at]docRoot}/../specs\f[R]. |
| .TP |
| \f[V]-splitindex\f[R] |
| Splits the index file into multiple files, alphabetically, one file per |
| letter, plus a file for any index entries that start with |
| non-alphabetical symbols. |
| .TP |
| \f[V]-tag\f[R] \f[I]name\f[R]:\f[I]locations\f[R]:\f[I]header\f[R] |
| Specifies single argument custom tags. |
| For the \f[V]javadoc\f[R] tool to spell-check tag names, it is important |
| to include a \f[V]-tag\f[R] option for every custom tag that is present |
| in the source code, disabling (with \f[V]X\f[R]) those that aren\[aq]t |
| being output in the current run. |
| The colon (\f[V]:\f[R]) is always the separator. |
| To include a colon in the tag name, escape it with a backward slash |
| (\f[V]\[rs]\f[R]). |
| The \f[V]-tag\f[R] option outputs the tag heading, \f[I]header\f[R], in |
| bold, followed on the next line by the text from its single argument. |
| Similar to any block tag, the argument text can contain inline tags, |
| which are also interpreted. |
| The output is similar to standard one-argument tags, such as the |
| \f[V]\[at]return\f[R] and \f[V]\[at]author\f[R] tags. |
| Omitting a \f[I]header\f[R] value causes the \f[I]name\f[R] to be the |
| heading. |
| \f[I]locations\f[R] is a list of characters specifying the kinds of |
| declarations in which the tag may be used. |
| The following characters may be used, in either uppercase or lowercase: |
| .RS |
| .IP \[bu] 2 |
| \f[V]A\f[R]: all declarations |
| .IP \[bu] 2 |
| \f[V]C\f[R]: constructors |
| .IP \[bu] 2 |
| \f[V]F\f[R]: fields |
| .IP \[bu] 2 |
| \f[V]M\f[R]: methods |
| .IP \[bu] 2 |
| \f[V]O\f[R]: the overview page and other documentation files in |
| \f[V]doc-files\f[R] subdirectories |
| .IP \[bu] 2 |
| \f[V]P\f[R]: packages |
| .IP \[bu] 2 |
| \f[V]S\f[R]: modules |
| .IP \[bu] 2 |
| \f[V]T\f[R]: types (classes and interfaces) |
| .IP \[bu] 2 |
| \f[V]X\f[R]: nowhere: the tag is disabled, and will be ignored |
| .PP |
| The order in which tags are given on the command line will be used as |
| the order in which the tags appear in the generated output. |
| You can include standard tags in the order given on the command line by |
| using the \f[V]-tag\f[R] option with no \f[I]locations\f[R] or |
| \f[I]header\f[R]. |
| .RE |
| .TP |
| \f[V]-taglet\f[R] \f[I]class\f[R] |
| Specifies the fully qualified name of the taglet used in generating the |
| documentation for that tag. |
| Use the fully qualified name for the \f[I]class\f[R] value. |
| This taglet also defines the number of text arguments that the custom |
| tag has. |
| The taglet accepts those arguments, processes them, and generates the |
| output. |
| .RS |
| .PP |
| Taglets are useful for block or inline tags. |
| They can have any number of arguments and implement custom behavior, |
| such as making text bold, formatting bullets, writing out the text to a |
| file, or starting other processes. |
| Taglets can only determine where a tag should appear and in what form. |
| All other decisions are made by the doclet. |
| A taglet can\[aq]t do things such as remove a class name from the list |
| of included classes. |
| However, it can execute side effects, such as printing the tag\[aq]s |
| text to a file or triggering another process. |
| Use the \f[V]-tagletpath\f[R] option to specify the path to the taglet. |
| The following example inserts the To Do taglet after Parameters and |
| ahead of Throws in the generated pages. |
| .IP |
| .nf |
| \f[CB] |
| -taglet com.sun.tools.doclets.ToDoTaglet |
| -tagletpath /home/taglets |
| -tag return |
| -tag param |
| -tag todo |
| -tag throws |
| -tag see |
| \f[R] |
| .fi |
| .PP |
| Alternately, you can use the \f[V]-taglet\f[R] option in place of its |
| \f[V]-tag\f[R] option, but that might be difficult to read. |
| .RE |
| .TP |
| \f[V]-tagletpath\f[R] \f[I]tagletpathlist\f[R] |
| Specifies the search paths for finding taglet class files. |
| The \f[I]tagletpathlist\f[R] can contain multiple paths by separating |
| them with the platform path separator (\f[V];\f[R] on Windows; |
| \f[V]:\f[R] on other platforms.) |
| The \f[V]javadoc\f[R] tool searches all subdirectories of the specified |
| paths. |
| .TP |
| \f[V]-top\f[R] \f[I]html-code\f[R] |
| Specifies the text to be placed at the top of each output file. |
| .TP |
| \f[V]-use\f[R] |
| Creates class and package usage pages. |
| Includes one Use page for each documented class and package. |
| The page describes what packages, classes, methods, constructors and |
| fields use any API of the specified class or package. |
| Given class C, things that use class C would include subclasses of C, |
| fields declared as C, methods that return C, and methods and |
| constructors with parameters of type C. |
| For example, you can look at the Use page for the \f[V]String\f[R] type. |
| Because the \f[V]getName\f[R] method in the \f[V]java.awt.Font\f[R] |
| class returns type \f[V]String\f[R], the \f[V]getName\f[R] method uses |
| \f[V]String\f[R] and so the \f[V]getName\f[R] method appears on the Use |
| page for \f[V]String\f[R]. |
| This documents only uses of the API, not the implementation. |
| When a method uses \f[V]String\f[R] in its implementation, but |
| doesn\[aq]t take a string as an argument or return a string, that |
| isn\[aq]t considered a use of \f[V]String\f[R].To access the generated |
| Use page, go to the class or package and click the \f[B]Use link\f[R] in |
| the navigation bar. |
| .TP |
| \f[V]-version\f[R] |
| Includes the version text in the generated docs. |
| This text is omitted by default. |
| To find out what version of the \f[V]javadoc\f[R] tool you are using, |
| use the \f[V]-J-version\f[R] option. |
| .TP |
| \f[V]-windowtitle\f[R] \f[I]title\f[R] |
| Specifies the title to be placed in the HTML \f[V]<title>\f[R] tag. |
| The text specified in the \f[V]title\f[R] tag appears in the window |
| title and in any browser bookmarks (favorite places) that someone |
| creates for this page. |
| This title should not contain any HTML tags because a browser will not |
| interpret them correctly. |
| Use escape characters on any internal quotation marks within the |
| \f[V]title\f[R] tag. |
| If the \f[V]-windowtitle\f[R] option is omitted, then the |
| \f[V]javadoc\f[R] tool uses the value of the \f[V]-doctitle\f[R] option |
| for the \f[V]-windowtitle\f[R] option. |
| For example, |
| \f[V]javadoc -windowtitle \[dq]My Library\[dq] com.mypackage\f[R]. |
| .SS Extra Options for the Standard Doclet |
| .PP |
| The following are additional options provided by the Standard Doclet and |
| are subject to change without notice. |
| Additional options are less commonly used or are otherwise regarded as |
| advanced. |
| .TP |
| \f[V]--date\f[R] \f[I]date-and-time\f[R] |
| Specifies the value to be used to timestamp the generated pages, in |
| \f[B]ISO 8601\f[R] |
| [https://www.iso.org/iso-8601-date-and-time-format.html] format. |
| The specified value must be within 10 years of the current date and |
| time. |
| It is an error to specify both \f[V]-notimestamp\f[R] and |
| \f[V]--date\f[R]. |
| Using a specific value means the generated documentation can be part of |
| a \f[B]reproducible build\f[R] [https://reproducible-builds.org/]. |
| If the option is not given, the default value is the current date and |
| time. |
| For example: |
| .RS |
| .IP |
| .nf |
| \f[CB] |
| javadoc --date 2022-02-01T17:41:59-08:00 mypackage |
| \f[R] |
| .fi |
| .RE |
| .TP |
| \f[V]--legal-notices\f[R] (\f[V]default\f[R]|\f[V]none\f[R]|\f[I]directory\f[R]) |
| Specifies the location from which to copy legal files to the generated |
| documentation. |
| If the option is not specified or is used with the value |
| \f[V]default\f[R], the files are copied from the default location. |
| If the argument is used with value \f[V]none\f[R], no files are copied. |
| Every other argument is interpreted as directory from which to copy the |
| legal files. |
| .TP |
| \f[V]--no-frames\f[R] |
| This option is a no-op and is just retained for backwards compatibility. |
| .TP |
| \f[V]-Xdoclint\f[R] |
| Enables recommended checks for problems in documentation comments. |
| .RS |
| .PP |
| By default, the \f[V]-Xdoclint\f[R] option is enabled. |
| Disable it with the option \f[V]-Xdoclint:none\f[R]. |
| .PP |
| For more details, see \f[B]DocLint\f[R]. |
| .RE |
| .TP |
| \f[V]-Xdoclint:\f[R]\f[I]flag\f[R],\f[I]flag\f[R],... |
| Enable or disable specific checks for different kinds of issues in |
| documentation comments. |
| .RS |
| .PP |
| Each \f[I]flag\f[R] can be one of \f[V]all\f[R], \f[V]none\f[R], or |
| \f[V][-]\f[R]\f[I]group\f[R] where \f[I]group\f[R] has one of the |
| following values: \f[V]accessibility\f[R], \f[V]html\f[R], |
| \f[V]missing\f[R], \f[V]reference\f[R], \f[V]syntax\f[R]. |
| For more details on these values, see \f[B]DocLint Groups\f[R]. |
| .PP |
| When specifying two or more flags, you can either use a single |
| \f[V]-Xdoclint:...\f[R] option, listing all the desired flags, or you |
| can use multiple options giving one or more flag in each option. |
| For example, use either of the following commands to check for the HTML, |
| syntax, and accessibility issues in the file \f[V]MyFile.java\f[R]. |
| .IP |
| .nf |
| \f[CB] |
| javadoc -Xdoclint:html -Xdoclint:syntax -Xdoclint:accessibility MyFile.java |
| javadoc -Xdoclint:html,syntax,accessibility MyFile.java |
| \f[R] |
| .fi |
| .PP |
| The following examples illustrate how to change what DocLint reports: |
| .IP \[bu] 2 |
| \f[V]-Xdoclint:none\f[R] --- disables all checks |
| .IP \[bu] 2 |
| \f[V]-Xdoclint:\f[R]\f[I]group\f[R] --- enables \f[I]group\f[R] checks |
| .IP \[bu] 2 |
| \f[V]-Xdoclint:all\f[R] --- enables all groups of checks |
| .IP \[bu] 2 |
| \f[V]-Xdoclint:all,-\f[R]\f[I]group\f[R] --- enables all checks except |
| \f[I]group\f[R] checks |
| .PP |
| For more details, see \f[B]DocLint\f[R]. |
| .RE |
| .TP |
| \f[V]-Xdoclint/package:\f[R][\f[V]-\f[R]]\f[I]packages\f[R] |
| Enables or disables checks in specific packages. |
| \f[I]packages\f[R] is a comma separated list of package specifiers. |
| A package specifier is either a qualified name of a package or a package |
| name prefix followed by \f[V]*\f[R], which expands to all subpackages of |
| the given package. |
| Prefix the package specifier with \f[V]-\f[R] to disable checks for the |
| specified packages. |
| .RS |
| .PP |
| For more details, see \f[B]DocLint\f[R]. |
| .RE |
| .TP |
| \f[V]-Xdocrootparent\f[R] \f[I]url\f[R] |
| Replaces all \f[V]\[at]docRoot\f[R] items followed by \f[V]/..\f[R] in |
| documentation comments with \f[I]url\f[R]. |
| .SH DOCLINT |
| .PP |
| DocLint provides the ability to check for possible problems in |
| documentation comments. |
| Problems may be reported as warnings or errors, depending on their |
| severity. |
| For example, a missing comment may be bad style that deserves a warning, |
| but a link to an unknown Java declaration is more serious and deserves |
| an error. |
| Problems are organized into \f[B]groups\f[R], and options can be used to |
| enable or disable messages in one or more groups. |
| Within the source code, messages in one or more groups can be |
| \f[B]suppressed\f[R] by using \f[V]\[at]SuppressWarnings\f[R] |
| annotations. |
| .PP |
| When invoked from \f[V]javadoc\f[R], by default DocLint checks all |
| comments that are used in the generated documentation. |
| It thus relies on other command-line options to determine which |
| declarations, and which corresponding documentation comments will be |
| included. |
| \f[I]Note:\f[R] this may mean that even comments on some private members |
| of serializable classes will also be checked, if the members need to be |
| documented in the generated \f[V]Serialized Forms\f[R] page. |
| .PP |
| In contrast, when DocLint is invoked from \f[V]javac\f[R], DocLint |
| solely relies on the various \f[V]-Xdoclint...\f[R] options to determine |
| which documentation comments to check. |
| .PP |
| DocLint doesn\[aq]t attempt to fix invalid input, it just reports it. |
| .PP |
| \f[I]Note:\f[R] DocLint doesn\[aq]t guarantee the completeness of these |
| checks. |
| In particular, it isn\[aq]t a full HTML compliance checker. |
| The goal is to just report common errors in a convenient manner. |
| .SS Groups |
| .PP |
| The checks performed by DocLint are organized into groups. |
| The warnings and errors in each group can be enabled or disabled with |
| command-line options, or suppressed with \f[V]\[at]SuppressWarnings\f[R] |
| annotations. |
| .PP |
| The groups are as follows: |
| .IP \[bu] 2 |
| \f[V]accessibility\f[R] --- Checks for issues related to accessibility. |
| For example, no \f[V]alt\f[R] attribute specified in an \f[V]<img>\f[R] |
| element, or no caption or summary attributes specified in a |
| \f[V]<table>\f[R] element. |
| .RS 2 |
| .PP |
| Issues are reported as errors if a downstream validation tool might be |
| expected to report an error in the files generated by \f[V]javadoc\f[R]. |
| .PP |
| For reference, see the \f[B]Web Content Accessibility Guidelines\f[R] |
| [https://www.w3.org/WAI/standards-guidelines/wcag/]. |
| .RE |
| .IP \[bu] 2 |
| \f[V]html\f[R] --- Detects common high-level HTML issues. |
| For example, putting block elements inside inline elements, or not |
| closing elements that require an end tag. |
| .RS 2 |
| .PP |
| Issues are reported as errors if a downstream validation tool might be |
| expected to report an error in the files generated by \f[V]javadoc\f[R]. |
| .PP |
| For reference, see the \f[B]HTML Living Standard\f[R] |
| [https://html.spec.whatwg.org/multipage/]. |
| .RE |
| .IP \[bu] 2 |
| \f[V]missing\f[R] --- Checks for missing documentation comments or tags. |
| For example, a missing comment on a class declaration, or a missing |
| \f[V]\[at]param\f[R] or \f[V]\[at]return\f[R] tag in the comment for a |
| method declaration. |
| .RS 2 |
| .PP |
| Issues related to missing items are typically reported as warnings |
| because they are unlikely to be reported as errors by downstream |
| validation tools that may be used to check the output generated by |
| \f[V]javadoc\f[R]. |
| .RE |
| .IP \[bu] 2 |
| \f[V]reference\f[R] --- Checks for issues relating to the references to |
| Java API elements from documentation comment tags. |
| For example, the reference in \f[V]\[at]see\f[R] or |
| \f[V]{\[at]link ...}\f[R] cannot be found, or a bad name is given for |
| \f[V]\[at]param\f[R] or \f[V]\[at]throws\f[R]. |
| .RS 2 |
| .PP |
| Issues are typically reported as errors because while the issue may not |
| cause problems in the generated files, the author has likely made a |
| mistake that will lead to incorrect or unexpected documentation. |
| .RE |
| .IP \[bu] 2 |
| \f[V]syntax\f[R] --- Checks for low-level syntactic issues in |
| documentation comments. |
| For example, unescaped angle brackets (\f[V]<\f[R] and \f[V]>\f[R]) and |
| ampersands (\f[V]&\f[R]) and invalid documentation comment tags. |
| .RS 2 |
| .PP |
| Issues are typically reported as errors because the issues may lead to |
| incorrect or unexpected documentation. |
| .RE |
| .SS Suppressing Messages |
| .PP |
| DocLint checks for and recognizes two strings that may be present in the |
| arguments for an \f[V]\[at]SuppressWarnings\f[R] annotation. |
| .IP \[bu] 2 |
| \f[V]doclint\f[R] |
| .IP \[bu] 2 |
| \f[V]doclint:\f[R]\f[I]LIST\f[R] |
| .PP |
| where \f[I]LIST\f[R] is a comma-separated list of one or more of |
| \f[V]accessibility\f[R], \f[V]html\f[R], \f[V]missing\f[R], |
| \f[V]syntax\f[R], \f[V]reference\f[R]. |
| .PP |
| The names in \f[I]LIST\f[R] are the same \f[B]group\f[R] names supported |
| by the command-line \f[V]-Xdoclint\f[R] option for \f[V]javac\f[R] and |
| \f[V]javadoc\f[R]. |
| (This is the same convention honored by the \f[V]javac\f[R] |
| \f[V]-Xlint\f[R] option and the corresponding names supported by |
| \f[V]\[at]SuppressWarnings\f[R].) |
| .PP |
| The names in \f[I]LIST\f[R] can equivalently be specified in separate |
| arguments of the annotation. |
| For example, the following are equivalent: |
| .IP \[bu] 2 |
| \f[V]\[at]SuppressWarnings(\[dq]doclint:accessibility,missing\[dq])\f[R] |
| .IP \[bu] 2 |
| \f[V]\[at]SuppressWarnings(\[dq]doclint:accessibility\[dq], \[dq]doclint:missing\[dq])\f[R] |
| .PP |
| When DocLint detects an issue in a documentation comment, it checks for |
| the presence of \f[V]\[at]SuppressWarnings\f[R] on the associated |
| declaration and on all lexically enclosing declarations. |
| The issue will be ignored if any such annotation is found containing the |
| simple string \f[V]doclint\f[R] or the longer form |
| \f[V]doclint:LIST\f[R] where \f[I]LIST\f[R] contains the name of the |
| group for the issue. |
| .PP |
| \f[I]Note:\f[R] as with other uses of \f[V]\[at]SuppressWarnings\f[R], |
| using the annotation on a module or package declaration only affects |
| that declaration; it does not affect the contents of the module or |
| package in other source files. |
| .PP |
| All messages related to an issue are suppressed by the presence of an |
| appropriate \f[V]\[at]SuppressWarnings\f[R] annotation: this includes |
| errors as well as warnings. |
| .PP |
| \f[I]Note:\f[R] It is only possible to \f[I]suppress\f[R] messages. |
| If an annotation of \f[V]\[at]SuppressWarnings(\[dq]doclint\[dq])\f[R] |
| is given on a top-level declaration, all DocLint messages for that |
| declaration and any enclosed declarations will be suppressed; it is not |
| possible to selectively re-enable messages for issues in enclosed |
| declarations. |
| .SS Comparison with downstream validation tools |
| .PP |
| DocLint is a utility built into \f[V]javac\f[R] and \f[V]javadoc\f[R] |
| that checks the content of documentation comments, as found in source |
| files. |
| In contrast, downstream validation tools can be used to validate the |
| output generated from those documentation comments by \f[V]javadoc\f[R] |
| and the Standard Doclet. |
| .PP |
| Although there is some overlap in functionality, the two mechanisms are |
| different and each has its own strengths and weaknesses. |
| .IP \[bu] 2 |
| Downstream validation tools can check the end result of any generated |
| documentation, as it will be seen by the end user. |
| This includes content from all sources, including documentation |
| comments, the Standard Doclet itself, user-provided taglets, and content |
| supplied via command-line options. |
| Because such tools are analyzing complete HTML pages, they can do more |
| complete checks than can DocLint. |
| However, when a problem is found in the generated pages, it can be |
| harder to track down exactly where in the build pipeline the problem |
| needs to be fixed. |
| .IP \[bu] 2 |
| DocLint checks the content of documentation comments, in source files. |
| This makes it very easy to identify the exact position of any issues |
| that may be found. |
| DocLint can also detect some semantic errors in documentation comments |
| that downstream tools cannot detect, such as missing comments, using an |
| \f[V]\[at]return\f[R] tag in a method returning \f[V]void\f[R], or an |
| \f[V]\[at]param\f[R] tag describing a non-existent parameter. |
| But by its nature, DocLint cannot report on problems such as missing |
| links, or errors in user-provided custom taglets, or problems in the |
| Standard Doclet itself. |
| It also cannot reliably detect errors in documentation comments at the |
| boundaries between content in a documentation comment and content |
| generated by a custom taglet. |