-1.1 || -author || -bootclasspath classpathlist || -bottom text || -breakiterator || -charset name || -classpath classpathlist || -d directory || -docencoding name || -docfilesubdirs || -doclet class || -docletpath classpathlist || -doctitle title || -encoding || -exclude packagename1:packagename2:... || -excludedocfilessubdir name1:name2 || -extdirs dirist || -footer footer || -group groupheading packagepattern:packagepattern || -header header || -help || -helpfile path\filename || -Jflag || -javafx ||-keywords || -link extdocURL || -linkoffline extdocURL packagelistLoc || -linksource || -locale language_country_variant || -nocomment || -nodeprecated || -nodeprecatedlist || -nohelp || -noindex || -nonavbar || -noqualifier all | packagename1:packagename2... || -nosince || -notimestamp || -notree || -overview path/filename || -package || -private || -protected || -public || -quiet || -serialwarn || -source release || -sourcepath sourcepathlist || -sourcetab tablength || -splitindex || -stylesheet path/filename || -subpackages package1:package2:... || -tag tagname:Xaoptcmf:"taghead" || -taglet class || -tagletpath tagletpathlist || -title title || -top || -use || -verbose || -version || -windowtitle title
The following options are the core Javadoc options that are available to all doclets. The standard doclet provides the rest of the doclets: -bootclasspath, -breakiterator, -classpath, -doclet, -docletpath, -encoding, -exclude, -extdirs, -help, -locale, -overview, -package, -private, -protected, -public, -quiet, -source, -sourcepath, -subpackages, and -verbose.
Standard doclet options
-
-d directory
-
Specifies the destination directory where the javadoc command saves the generated HTML files. If you omit the -d option, then the files are saved to the current directory. The directory value can be absolute or relative to the current working directory. As of Java SE 1.4, the destination directory is automatically created when the javadoc command runs.
For example, the following command generates the documentation for the package com.mypackage and saves the results in the /user/doc/ directory: javadoc -d/user/doc/com.mypackage.
-
-use
-
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 String type. Because the getName method in the java.awt.Font class returns type String, the getName method uses String and so the getName method appears on the Use page for String.This documents only uses of the API, not the implementation. When a method uses String in its implementation, but does not take a string as an argument or return a string, that is not considered a use of String.To access the generated Use page, go to the class or package and click the Use link in the navigation bar.
-
-version
-
Includes the @version text in the generated docs. This text is omitted by default. To find out what version of the javadoc command you are using, use the -J-version option.
-
-author
-
Includes the @author text in the generated docs.
-
-splitindex
-
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.
-
-windowtitle title
-
Specifies the title to be placed in the HTML <title> tag. The text specified in the title 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 the browser does not interpret them correctly. Use escape characters on any internal quotation marks within the title tag. If the -windowtitle option is omitted, then the javadoc command uses the value of the -doctitle option for the -windowtitle option. For example, javadoc -windowtitle "Java SE Platform" com.mypackage.
-
-doctitle title
-
Specifies the title to place near the top of the overview summary file. The text specified in the title tag is placed as a centered, level-one heading directly beneath the top navigation bar. The title tag can contain HTML tags and white space, but when it does, you must enclose the title in quotation marks. Internal quotation marks within the title tag must be escaped. For example, javadoc -header "<b>Java Platform </b><br>v1.4" com.mypackage.
-
-title title
-
No longer exists. It existed only in Beta releases of Javadoc 1.2. It was renamed to -doctitle. This option was renamed to make it clear that it defines the document title, rather than the window title.
-
-top
-
Specifies the text to be placed at the top of each output file.
-
-bottom text
-
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.
-
-link extdocURL
-
Creates links to existing Javadoc-generated documentation of externally referenced classes. The extdocURL argument is the absolute or relative URL of the directory that contains the external Javadoc-generated documentation you want to link to. You can specify multiple -link options in a specified javadoc command run to link to multiple documents.
The package-list file must be found in this directory (otherwise, use the -linkoffline option). The javadoc command reads the package names from the package-list file and links to those packages at that URL. When the javadoc command runs, the extdocURL value is copied into the <A HREF> links that are created. Therefore, extdocURL must be the URL to the directory, and not to a file. You can use an absolute link for extdocURL 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 -d 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 http: or file: as specified in the URL Memo: Uniform Resource Locators at http://www.ietf.org/rfc/rfc1738.txt
-link http://<host>/<directory>/<directory>/.../<name>
-link file://<host>/<directory>/<directory>/.../<name>
-link <directory>/<directory>/.../<name>
Differences between the -linkoffline and -link options
Use the -link option in the following cases:
- •
-
When you use a relative path to the external API document.
- •
-
When you use an absolute URL to the external API document if your shell lets you open a connection to that URL for reading.
Use the -linkoffline option when you use an absolute URL to the external API document, if your shell does not allow a program to open a connection to that URL for reading. This can occur when you are behind a firewall and the document you want to link to is on the other side.
Example 1 Absolute Link to External Documents
Use the following command if you want to link to the java.lang, java.io and other Java platform packages, shown at http://docs.oracle.com/javase/8/docs/api/index.html
javadoc -link http://docs.oracle.com/javase/8/docs/api/ com.mypackage
The command generates documentation for the package com.mypackage with links to the Java SE packages. The generated documentation contains links to the Object class, for example, in the class trees. Other options, such as the -sourcepath and -d options, are not shown.
Example 2 Relative Link to External Documents
In this example, there are two packages with documents that are generated in different runs of the javadoc command, and those documents are separated by a relative path. The packages are com.apipackage, an API, and com.spipackage, an Service Provide Interface (SPI). You want the documentation to reside in docs/api/com/apipackage and docs/spi/com/spipackage. Assuming that the API package documentation is already generated, and that docs is the current directory, you document the SPI package with links to the API documentation by running: javadoc -d ./spi -link ../api com.spipackage.
Notice the -link option is relative to the destination directory (docs/spi).
Notes
The -link option lets you link to classes referenced to by your code, but not documented in the current javadoc command run. For these links to go to valid pages, you must know where those HTML pages are located and specify that location with extdocURL. This allows third-party documentation to link to java.* documentation at http://docs.oracle.com.Omit the -link option when you want the javadoc command to create links only to APIs within the documentation it is generating in the current run. Without the -link option, the javadoc command does not create links to documentation for external references because it does not know whether or where that documentation exists.The -link option can create links in several places in the generated documentation. See Process Source Files. Another use is for cross-links between sets of packages: Execute the javadoc command on one set of packages, then run the javadoc command again on another set of packages, creating links both ways between both sets.
How to Reference a Class
For a link to an externally referenced class to appear (and not just its text label), the class must be referenced in the following way. It is not sufficient for it to be referenced in the body of a method. It must be referenced in either an import statement or in a declaration. Here are examples of how the class java.io.File can be referenced:
In any kind of import statement. By wildcard import, import explicitly by name, or automatically import for java.lang.*.
In Java SE 1.3.n and 1.2.n, only an explicit import by name works. A wildcard import statement does not work, nor does the automatic import java.lang.*.
In a declaration: void mymethod(File f) {}
The reference can be in the return type or parameter type of a method, constructor, field, class, or interface, or in an implements, extends, or throws statement.
An important corollary is that when you use the -link option, there can be many links that unintentionally do not appear due to this constraint. The text would appear without being a link. You can detect these by the warnings they emit. The simplest way to properly reference a class and add the link would be to import that class.
Package List
The -link option requires that a file named package-list, which is generated by the javadoc command, exists at the URL you specify with the -link option. The package-list file is a simple text file that lists the names of packages documented at that location. In the earlier example, the javadoc command searches for a file named package-list at the specified URL, reads in the package names, and links to those packages at that URL.
For example, the package list for the Java SE API is located at http://docs.oracle.com/javase/8/docs/api/package-list
The package list starts as follows:
java.applet
java.awt
java.awt.color
java.awt.datatransfer
java.awt.dnd
java.awt.event
java.awt.font
and so on ....
When javadoc is run without the -link option and encounters a name that belongs to an externally referenced class, it prints the name with no link. However, when the -link option is used, the javadoc command searches the package-list file at the specified extdocURL location for that package name. When it finds the package name, it prefixes the name with extdocURL.
For there to be no broken links, all of the documentation for the external references must exist at the specified URLs. The javadoc command does not check that these pages exist, but only that the package-list exists.
Multiple Links
You can supply multiple -link options to link to any number of externally generated documents. Javadoc 1.2 has a known bug that prevents you from supplying more than one -link options. This was fixed in Javadoc 1.2.2. Specify a different link option for each external document to link to javadoc -link extdocURL1 -link extdocURL2 ... -link extdocURLn com.mypackage where extdocURL1, extdocURL2, ... extdocURLn point respectively to the roots of external documents, each of which contains a file named package-list.
Cross Links
Note that bootstrapping might be required when cross-linking two or more documents that were previously generated. If package-list does not exist for either document when you run the javadoc command on the first document, then the package-list does not yet exist for the second document. Therefore, to create the external links, you must regenerate the first document after you generate the second document.
In this case, the purpose of first generating a document is to create its package-list (or you can create it by hand if you are certain of the package names). Then, generate the second document with its external links. The javadoc command prints a warning when a needed external package-list file does not exist.
- -linkoffline extdocURL packagelistLoc
-
This option is a variation of the -link option. They both create links to Javadoc-generated documentation for externally referenced classes. Use the -linkoffline option when linking to a document on the web when the javadoc command cannot access the document through a web connection. Use the -linkoffline option when package-list file of the external document is not accessible or does not exist at the extdocURL location, but does exist at a different location that can be specified by packageListLoc (typically local). If extdocURL is accessible only on the World Wide Web, then the -linkoffline option removes the constraint that the javadoc command must have a web connection to generate documentation. Another use is as a work-around to update documents: After you have run the javadoc command on a full set of packages, you can run the javadoc command again on a smaller set of changed packages, so that the updated files can be inserted back into the original set. Examples follow. The -linkoffline option takes two arguments. The first is for the string to be embedded in the <a href> links, and the second tells the -linkoffline option where to find package-list:
- •
-
The extdocURL value is the absolute or relative URL of the directory that contains the external Javadoc-generated documentation you want to link to. When relative, the value should be the relative path from the destination directory (specified with the -d option) to the root of the packages being linked to. For more information, see extdocURL in the -link option.
- •
-
The packagelistLoc value is the path or URL to the directory that contains the package-list file for the external documentation. This can be a URL (http: or file:) or file path, and can be absolute or relative. When relative, make it relative to the current directory from where the javadoc command was run. Do not include the package-list file name.
You can specify multiple -linkoffline options in a specified javadoc command run. Before Javadoc 1.2.2, the -linkfile options could be specified once.
Absolute Links to External Documents
You might have a situation where you want to link to the java.lang, java.io and other Java SE packages at http://docs.oracle.com/javase/8/docs/api/index.html
However, your shell does not have web access. In this case, do the following:
- 1.
-
Open the package-list file in a browser at http://docs.oracle.com/javase/8/docs/api/package-list
- 2.
-
Save the file to a local directory, and point to this local copy with the second argument, packagelistLoc. In this example, the package list file was saved to the current directory (.).
The following command generates documentation for the package com.mypackage with links to the Java SE packages. The generated documentation will contain links to the Object class, for example, in the class trees. Other necessary options, such as -sourcepath, are not shown.
javadoc -linkoffline http://docs.oracle.com/javase/8/docs/api/ . com.mypackage
Relative Links to External Documents
It is not very common to use -linkoffline with relative paths, for the simple reason that the -link option is usually enough. When you use the -linkoffline option, the package-list file is usually local, and when you use relative links, the file you are linking to is also local, so it is usually unnecessary to give a different path for the two arguments to the -linkoffline option When the two arguments are identical, you can use the -link option.
Create a package-list File Manually
If a package-list file does not exist yet, but you know what package names your document will link to, then you can manually create your own copy of this file and specify its path with packagelistLoc. An example would be the previous case where the package list for com.spipackage did not exist when com.apipackage was first generated. This technique is useful when you need to generate documentation that links to new external documentation whose package names you know, but which is not yet published. This is also a way of creating package-list files for packages generated with Javadoc 1.0 or 1.1, where package-list files were not generated. Similarly, two companies can share their unpublished package-list files so they can release their cross-linked documentation simultaneously.
Link to Multiple Documents
You can include the -linkoffline option once for each generated document you want to refer to:
javadoc -linkoffline extdocURL1 packagelistLoc1 -linkoffline extdocURL2
packagelistLoc2 ...
Update Documents
You can also use the -linkoffline option when your project has dozens or hundreds of packages. If you have already run the javadoc command on the entire source tree, then you can quickly make small changes to documentation comments and rerun the javadoc command on a portion of the source tree. Be aware that the second run works properly only when your changes are to documentation comments and not to declarations. If you were to add, remove, or change any declarations from the source code, then broken links could show up in the index, package tree, inherited member lists, Use page, and other places.
First, create a new destination directory, such as update, for this new small run. In this example, the original destination directory is named html. In the simplest example, change directory to the parent of html. Set the first argument of the -linkoffline option to the current directory (.) and set the second argument to the relative path to html, where it can find package-list and pass in only the package names of the packages you want to update:
javadoc -d update -linkoffline . html com.mypackage
When the javadoc command completes, copy these generated class pages in update/com/package (not the overview or index) to the original files in html/com/package.
-
-linksource
-
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 are not created, such as for default constructors and generated classes.
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 -public, -package, -protected, and -private options. Unless you also use the -private option, not all private classes or interfaces are accessible through links.
Each link appears on the name of the identifier in its declaration. For example, the link to the source code of the Button class would be on the word Button:
public class Button extends Component implements Accessible
The link to the source code of the getLabel method in the Button class is on the word getLabel:
public String getLabel()
- -group groupheading packagepattern:packagepattern
-
Separates packages on the overview page into whatever groups you specify, one group per table. You specify each group with a different -group option. The groups appear on the page in the order specified on the command line. Packages are alphabetized within a group. For a specified -group option, the packages matching the list of packagepattern expressions appear in a table with the heading groupheading.
- •
-
The groupheading can be any text and can include white space. This text is placed in the table heading for the group.
- •
-
The packagepattern value can be any package name at the start of any package name followed by an asterisk (*). The asterisk is the only wildcard allowed and means match any characters. Multiple patterns can be included in a group by separating them with colons (:). If you use an asterisk in a pattern or pattern list, then the pattern list must be inside quotation marks, such as "java.lang*:java.util".
When you do not supply a -group option, all packages are placed in one group with the heading Packages and appropriate subheadings. If the subheadings do not include all documented packages (all groups), then the remaining packages appear in a separate group with the subheading Other Packages.
For example, the following javadoc command separates the three documented packages into Core, Extension, and Other Packages. The trailing dot (.) does not appear in java.lang*. Including the dot, such as java.lang.* omits thejava.lang package.
javadoc -group "Core Packages" "java.lang*:java.util"
-group "Extension Packages" "javax.*"
java.lang java.lang.reflect java.util javax.servlet java.new
Core Packages
java.lang
java.lang.reflect
java.util
Extension Packages
javax.servlet
Other Packages
java.new
-
-nodeprecated
-
Prevents the generation of any deprecated API in the documentation. This does what the -nodeprecatedlist option does, and it does not generate any deprecated API throughout the rest of the documentation. This is useful when writing code when you do not want to be distracted by the deprecated code.
-
-nodeprecatedlist
-
Prevents the generation of the file that contains the list of deprecated APIs (deprecated-list.html) and the link in the navigation bar to that page. The javadoc command 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.
-
-nosince
-
Omits from the generated documents the Since sections associated with the @since tags.
-
-notree
-
Omits the class/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.
-
-noindex
-
Omits the index from the generated documents. The index is produced by default.
-
-nohelp
-
Omits the HELP link in the navigation bars at the top and bottom of each page of output.
-
-nonavbar
-
Prevents the generation of the navigation bar, header, and footer, that are usually found at the top and bottom of the generated pages. The -nonavbar option has no affect on the -bottom option. The -nonavbar 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.
-
-helpfile path\filename
-
Specifies the path of an alternate help file path\filename that the HELP link in the top and bottom navigation bars link to. Without this option, the javadoc command creates a help file help-doc.html that is hard-coded in the javadoc command. This option lets you override the default. The file name can be any name and is not restricted to help-doc.html. The javadoc command adjusts the links in the navigation bar accordingly, for example:
javadoc -helpfile /home/user/myhelp.html java.awt.
-
-stylesheet path/filename
-
Specifies the path of an alternate HTML stylesheet file. Without this option, the javadoc command automatically creates a stylesheet file stylesheet.css that is hard-coded in the javadoc command. This option lets you override the default. The file name can be any name and is not restricted to stylesheet.css, for example:
javadoc -stylesheet file /home/user/mystylesheet.css com.mypackage
-
-serialwarn
-
Generates compile-time warnings for missing @serial tags. By default, Javadoc 1.2.2 and later versions generate no serial warnings. This is a reversal from earlier releases. Use this option to display the serial warnings, which helps to properly document default serializable fields and writeExternal methods.
-
-charset name
-
Specifies the HTML character set for this document. The name should be a preferred MIME name as specified in the IANA Registry, Character Sets at http://www.iana.org/assignments/character-sets
For example, javadoc -charset "iso-8859-1" mypackage inserts the following line in the head of every generated page:
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
This META tag is described in the HTML standard (4197265 and 4137321), HTML Document Representation, at http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2
See also the -encoding and -docencoding name options.
-
-docencoding name
-
Specifies the encoding of the generated HTML files. The name should be a preferred MIME name as specified in the IANA Registry, Character Sets at http://www.iana.org/assignments/character-sets
If you omit the -docencoding option but use the -encoding option, then the encoding of the generated HTML files is determined by the -encoding option, for example: javadoc -docencoding "iso-8859-1" mypackage. See also the -encoding and -docencoding name options.
-
-keywords
-
Adds HTML keyword <META> tags to the generated file for each class. These tags can help search engines that look for <META> tags find the pages. Most search engines that search the entire Internet do not look at <META> tags, because pages can misuse them. Search engines offered by companies that confine their searches to their own website can benefit by looking at <META> tags. The <META> tags include the fully qualified name of the class and the unqualified names of the fields and methods. Constructors are not included because they are identical to the class name. For example, the class String starts with these keywords:
<META NAME="keywords" CONTENT="java.lang.String class">
<META NAME="keywords" CONTENT="CASE_INSENSITIVE_ORDER">
<META NAME="keywords" CONTENT="length()">
<META NAME="keywords" CONTENT="charAt()">
-
-tag tagname:Xaoptcmf:"taghead"
-
Enables the javadoc command to interpret a simple, one-argument @tagname custom block tag in documentation comments. For the javadoc command to spell-check tag names, it is important to include a -tag option for every custom tag that is present in the source code, disabling (with X) those that are not being output in the current run.The colon (:) is always the separator. The -tag option outputs the tag heading taghead 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 @return and @author tags. Omitting a value for taghead causes tagname to be the heading.
Placement of tags: The Xaoptcmf arguments determine where in the source code the tag is allowed to be placed, and whether the tag can be disabled (using X). You can supply either a, to allow the tag in all places, or any combination of the other letters:
X (disable tag)
a (all)
o (overview)
p (packages)
t (types, that is classes and interfaces)
c (constructors)
m (methods)
f (fields)
Examples of single tags: An example of a tag option for a tag that can be used anywhere in the source code is: -tag todo:a:"To Do:".
If you want the @todo tag to be used only with constructors, methods, and fields, then you use: -tag todo:cmf:"To Do:".
Notice the last colon (:) is not a parameter separator, but is part of the heading text. You would use either tag option for source code that contains the @todo tag, such as: @todo The documentation for this method needs work.
Colons in tag names: Use a backslash to escape a colon that you want to use in a tag name. Use the -tag ejb\\:bean:a:"EJB Bean:" option for the following documentation comment:
/**
* @ejb:bean
*/
Spell-checking tag names: Some developers put custom tags in the source code that they do not always want to output. In these cases, it is important to list all tags that are in the source code, enabling the ones you want to output and disabling the ones you do not want to output. The presence of X disables the tag, while its absence enables the tag. This gives the javadoc command enough information to know whether a tag it encounters is unknown, which is probably the results of a typographical error or a misspelling. The javadoc command prints a warning in these cases. You can add X to the placement values already present, so that when you want to enable the tag, you can simply delete the X. For example, if the @todo tag is a tag that you want to suppress on output, then you would use: -tag todo:Xcmf:"To Do:". If you would rather keep it simple, then use this: -tag todo:X. The syntax -tag todo:X works even when the @todo tag is defined by a taglet.
Order of tags: The order of the -tag and -taglet options determines the order the tags are output. You can mix the custom tags with the standard tags to intersperse them. The tag options for standard tags are placeholders only for determining the order. They take only the standard tag's name. Subheadings for standard tags cannot be altered. This is illustrated in the following example.If the -tag option is missing, then the position of the -taglet option determines its order. If they are both present, then whichever appears last on the command line determines its order. This happens because the tags and taglets are processed in the order that they appear on the command line. For example, if the -taglet and -tag options have the name todo value, then the one that appears last on the command line determines the order.
Example of a complete set of tags: This example inserts To Do after Parameters and before Throws in the output. By using X, it also specifies that the @example tag might be encountered in the source code that should not be output during this run. If you use the @argfile tag, then you can put the tags on separate lines in an argument file similar to this (no line continuation characters needed):
-tag param
-tag return
-tag todo:a:"To Do:"
-tag throws
-tag see
-tag example:X
When the javadoc command parses the documentation comments, any tag encountered that is neither a standard tag nor passed in with the -tag or -taglet options is considered unknown, and a warning is thrown.
The standard tags are initially stored internally in a list in their default order. Whenever the -tag options are used, those tags get appended to this list. Standard tags are moved from their default position. Therefore, if a -tag option is omitted for a standard tag, then it remains in its default position.
Avoiding conflicts: If you want to create your own namespace, then you can use a dot-separated naming convention similar to that used for packages: com.mycompany.todo. Oracle will continue to create standard tags whose names do not contain dots. Any tag you create will override the behavior of a tag by the same name defined by Oracle. If you create a @todo tag or taglet, then it always has the same behavior you define, even when Oracle later creates a standard tag of the same name.
Annotations vs. Javadoc tags: In general, if the markup you want to add is intended to affect or produce documentation, then it should be a Javadoc tag. Otherwise, it should be an annotation. See Custom Tags and Annotations in How to Write Doc Comments for the Javadoc Tool at http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html#annotations
You can also create more complex block tags or custom inline tags with the -taglet option.
-
-taglet class
-
Specifies the class file that starts the taglet used in generating the documentation for that tag. Use the fully qualified name for the class 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. For extensive documentation with example taglets, see: Taglet Overview at http://docs.oracle.com/javase/8/docs/technotes/guides/javadoc/taglet/overview.html
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 cannot 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's text to a file or triggering another process. Use the -tagletpath 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. Alternately, you can use the -taglet option in place of its -tag option, but that might be difficult to read.
-taglet com.sun.tools.doclets.ToDoTaglet
-tagletpath /home/taglets
-tag return
-tag param
-tag todo
-tag throws
-tag see
-
-tagletpath tagletpathlist
-
Specifies the search paths for finding taglet class files. The tagletpathlist can contain multiple paths by separating them with a colon (:). The javadoc command searches all subdirectories of the specified paths.
-
-docfilesubdirs
-
Enables deep copying of doc-files directories. Subdirectories and all contents are recursively copied to the destination. For example, the directory doc-files/example/images and all of its contents would be copied. There is also an option to exclude subdirectories.
-
-excludedocfilessubdir name1:name2
-
Excludes any doc-files subdirectories with the specified names. This prevents the copying of SCCS and other source-code-control subdirectories.
- -noqualifier all | packagename1:packagename2...
-
Omits qualifying package names from class names in output. The argument to the -noqualifier option is either all (all package qualifiers are omitted) or a colon-separate list of packages, with wild cards, to be removed as qualifiers. The package name is removed from places where class or interface names appear. See Process Source Files.
The following example omits all package qualifiers: -noqualifier all.
The following example omits java.lang and java.io package qualifiers: -noqualifier java.lang:java.io.
The following example omits package qualifiers starting with java, and com.sun subpackages, but not javax: -noqualifier java.*:com.sun.*.
Where a package qualifier would appear due to the previous behavior, the name can be suitably shortened. See How a Name Appears. This rule is in effect whether or not the -noqualifier option is used.
-
-notimestamp
-
Suppresses the time stamp, which is hidden in an HTML comment in the generated HTML near the top of each page. The -notimestamp option is useful when you want to run the javadoc command on two source bases and get the differences between diff them, because it prevents time stamps from causing a diff (which would otherwise be a diff on every page). The time stamp includes the javadoc command release number, and currently appears similar to this: <!-- Generated by javadoc (build 1.5.0_01) on Thu Apr 02 14:04:52 IST 2009 -->.
-
-sourcetab tablength
-
Specifies the number of spaces each tab uses in the source.