< prev index next >

src/jdk.compiler/share/man/javac.1

Print this page

        

@@ -19,11 +19,11 @@
 .\" or visit www.oracle.com if you need additional information or have any
 .\" questions.
 .\"
 .\" Automatically generated by Pandoc 2.3.1
 .\"
-.TH "JAVAC" "1" "2019" "JDK 13" "JDK Commands"
+.TH "JAVAC" "1" "2020" "JDK 14" "JDK Commands"
 .hy
 .SH NAME
 .PP
 javac \- read Java declarations and compile them into class files
 .SH SYNOPSIS

@@ -63,12 +63,12 @@
 .IP \[bu] 2
 For a small number of source files, you can list their file names on the
 command line.
 .IP \[bu] 2
 For a large number of source files, you can use the
-\f[CB]\@\f[R]\f[I]filename\f[R] option on the command line to specify an
-\f[I]argument file\f[R] that lists their file names.
+\f[B]\f[BC]\@\f[B]\f[BI]filename\f[B]\f[R] option on the command line to
+specify an \f[I]argument file\f[R] that lists their file names.
 See \f[B]Standard Options\f[R] for a description of the option and
 \f[B]Command\-Line Argument Files\f[R] for a description of
 \f[CB]javac\f[R] argument files.
 .PP
 The order of source files specified on the command line or in an

@@ -98,11 +98,11 @@
 Declarations\f[R].
 .PP
 By default, \f[CB]javac\f[R] compiles each source file to a class file in
 the same directory as the source file.
 However, it is recommended to specify a separate destination directory
-with the \f[CB]\-d\f[R] option described in \f[B]Standard Options\f[R].
+with the \f[B]\f[BC]\-d\f[B]\f[R] option.
 .PP
 Command\-line \f[B]options\f[R] and \f[B]environment variables\f[R] also
 control how \f[CB]javac\f[R] performs various tasks:
 .IP \[bu] 2
 Compiling code to run on earlier releases of the JDK.

@@ -158,11 +158,11 @@
 .TP
 .B \f[CB]\@\f[R]\f[I]filename\f[R]
 Reads options and file names from a file.
 To shorten or simplify the \f[CB]javac\f[R] command, you can specify one
 or more files that contain arguments to the \f[CB]javac\f[R] command
-(except \f[CB]\-J\f[R] options).
+(except \f[B]\f[BC]\-J\f[B]\f[R] options).
 This lets you to create \f[CB]javac\f[R] commands of any length on any
 operating system.
 See \f[B]Command\-Line Argument Files\f[R].
 .RS
 .RE

@@ -177,23 +177,24 @@
 .RE
 .TP
 .B \f[CB]\-\-add\-modules\f[R] \f[I]module\f[R]\f[CB],\f[R]\f[I]module\f[R]
 Specifies root modules to resolve in addition to the initial modules, or
 all modules on the module path if \f[I]module\f[R] is
-\f[CB]ALL\-MODULE\-PATH.\f[R]
+\f[CB]ALL\-MODULE\-PATH\f[R].
 .RS
 .RE
 .TP
 .B \f[CB]\-\-boot\-class\-path\f[R] \f[I]path\f[R] or \f[CB]\-bootclasspath\f[R] \f[I]path\f[R]
 Overrides the location of the bootstrap class files.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
-For JDK 9 or later, see \f[CB]\-\-system\f[R].
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
+For JDK 9 or later, see \f[B]\f[BC]\-\-system\f[B]\f[R].
 .RE
 .TP
 .B \f[CB]\-\-class\-path\f[R] \f[I]path\f[R], \f[CB]\-classpath\f[R] \f[I]path\f[R], or \f[CB]\-cp\f[R] \f[I]path\f[R]
 Specifies where to find user class files and annotation processors.
 This class path overrides the user class path in the \f[CB]CLASSPATH\f[R]

@@ -203,16 +204,16 @@
 If \f[CB]\-\-class\-path\f[R], \f[CB]\-classpath\f[R], or \f[CB]\-cp\f[R] are
 not specified, then the user class path is the value of the
 \f[CB]CLASSPATH\f[R] environment variable, if that is set, or else the
 current directory.
 .IP \[bu] 2
-If not compiling code for modules, if the \f[CB]\-\-source\-path\f[R] or
-\-sourcepath` option is not specified, then the user class path is also
-searched for source files.
+If not compiling code for modules, if the
+\f[B]\f[BC]\-\-source\-path\f[B]\f[R] or \-sourcepath` option is not
+specified, then the user class path is also searched for source files.
 .IP \[bu] 2
-If the \f[CB]\-processorpath\f[R] option is not specified, then the class
-path is also searched for annotation processors.
+If the \f[B]\f[BC]\-processorpath\f[B]\f[R] option is not specified, then
+the class path is also searched for annotation processors.
 .RE
 .TP
 .B \f[CB]\-d\f[R] \f[I]directory\f[R]
 Sets the destination directory (or \f[I]class output directory\f[R]) for
 class files.

@@ -255,12 +256,12 @@
 .RS
 .RE
 .TP
 .B \f[CB]\-\-enable\-preview\f[R]
 Enables preview language features.
-Used in conjunction with either \f[CB]\-source\f[R] or
-\f[CB]\-\-release\f[R].
+Used in conjunction with either \f[B]\f[BC]\-source\f[B]\f[R] or
+\f[B]\f[BC]\-\-release\f[B]\f[R].
 .RS
 .RE
 .TP
 .B \f[CB]\-encoding\f[R] \f[I]encoding\f[R]
 Specifies character encoding used by source files, such as EUC\-JP and

@@ -274,12 +275,13 @@
 Overrides the location of the endorsed standards path.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-extdirs\f[R] \f[I]directories\f[R]
 Overrides the location of the installed extensions.
 \f[CB]directories\f[R] is a list of directories, separated by the platform

@@ -293,12 +295,13 @@
 contain the extension classes.
 See [Compiling for Other Releases of the Platform].
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-g\f[R]
 Generates all debugging information, including local variables.
 By default, only line number and source file information is generated.

@@ -466,12 +469,13 @@
 Checks that the API used is available in the specified profile.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-\-release\f[R] \f[I]release\f[R]
 Compiles source code according to the rules of the Java programming
 language for the specified Java SE release, generating class files which

@@ -493,12 +497,12 @@
 .PP
 For previous releases, the Java SE API and the JDK API are as defined in
 that release.
 .PP
 \f[B]Note:\f[R] When using \f[CB]\-\-release\f[R], you cannot also use the
-\f[CB]\-\-source\f[R]/\f[CB]\-source\f[R] or
-\f[CB]\-\-target\f[R]/\f[CB]\-target\f[R] options.
+\f[B]\f[BC]\-\-source\f[B]\f[R]/\f[CB]\-source\f[R] or
+\f[B]\f[BC]\-\-target\f[B]\f[R]/\f[CB]\-target\f[R] options.
 .PP
 \f[B]Note:\f[R] When using \f[CB]\-\-release\f[R] to specify a release that
 supports the Java Platform Module System, the \f[CB]\-\-add\-exports\f[R]
 option cannot be used to enlarge the set of packages exported by the
 Java SE, JDK, and standard modules in the specified release.

@@ -558,11 +562,11 @@
 help.
 .RS
 .PP
 \f[B]Note:\f[R] The target release must be equal to or higher than the
 source release.
-(See \f[CB]\-\-source\f[R].)
+(See \f[B]\f[BC]\-\-source\f[B]\f[R].)
 .RE
 .TP
 .B \f[CB]\-\-upgrade\-module\-path\f[R] \f[I]path\f[R]
 Overrides the location of upgradeable modules.
 .RS

@@ -609,22 +613,24 @@
 Overrides the location of the endorsed standards path.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-Djava.ext.dirs=\f[R]\f[I]dirs\f[R]
 Overrides the location of installed extensions.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-\-doclint\-format\f[R] [\f[CB]html4\f[R]|\f[CB]html5\f[R]]
 Specifies the format for documentation comments.
 .RS

@@ -640,32 +646,35 @@
 Overrides the location of the bootstrap class files.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-Xbootclasspath/a:\f[R]\f[I]path\f[R]
 Adds a suffix to the bootstrap class path.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-Xbootclasspath/p:\f[R]\f[I]path\f[R]
 Adds a prefix to the bootstrap class path.
 .RS
 .PP
 \f[B]Note:\f[R] This can only be used when compiling for releases prior
 to JDK 9.
-As applicable, see the descriptions in \f[CB]\-\-release\f[R],
-\f[CB]\-source\f[R], or \f[CB]\-target\f[R] for details.
+As applicable, see the descriptions in \f[B]\f[BC]\-\-release\f[B]\f[R],
+\f[B]\f[BC]\-source\f[B]\f[R], or \f[B]\f[BC]\-target\f[B]\f[R] for
+details.
 .RE
 .TP
 .B \f[CB]\-Xdiags:\f[R][\f[CB]compact\f[R], \f[CB]verbose\f[R]]
 Selects a diagnostic mode.
 .RS

@@ -927,13 +936,13 @@
 .RS
 .RE
 .SH ENVIRONMENT VARIABLES
 .SS CLASSPATH
 .PP
-If the \f[CB]\-\-class\-path\f[R] option or any of its alternate forms are
-not specified, the class path will default to the value of the
-\f[CB]CLASSPATH\f[R] environment variable if it is set.
+If the \f[B]\f[BC]\-\-class\-path\f[B]\f[R] option or any of its
+alternate forms are not specified, the class path will default to the
+value of the \f[CB]CLASSPATH\f[R] environment variable if it is set.
 However, it is recommended that this environment variable should
 \f[I]not\f[R] be set, and that the \f[CB]\-\-class\-path\f[R] option should
 be used to provide an explicit value for the class path when one is
 required.
 .SS JDK_JAVAC_OPTIONS

@@ -1179,16 +1188,16 @@
 .PP
 Some systems may limit the amount you can put on a command line; to work
 around those limits, you can use \f[B]argument files\f[R].
 .PP
 When compiling code for modules, you can also specify source files
-indirectly, by using the \f[CB]\-\-module\f[R] or \f[CB]\-m\f[R] option; see
-\f[B]Standard Options\f[R].
+indirectly, by using the \f[B]\f[BC]\-\-module\f[B]\f[R] or \f[CB]\-m\f[R]
+option.
 .SS Output Directory
 .IP \[bu] 2
-Use the \f[CB]\-d\f[R] option to specify an output directory in which to
-put the compiled class files.
+Use the \f[B]\f[BC]\-d\f[B]\f[R] option to specify an output directory in
+which to put the compiled class files.
 .PP
 This will normally be organized in a \f[B]package hierarchy\f[R], unless
 you are compiling source code from multiple modules, in which case it
 will be organized as a \f[B]module hierarchy\f[R].
 .PP

@@ -1202,19 +1211,19 @@
 by the platform.
 If so, you must place these libraries on the class path or module path.
 If the library code is not in a module, place it on the class path; if
 it is in a module, place it on the module path.
 .IP \[bu] 2
-Use the \f[CB]\-\-class\-path\f[R] option to specify libraries to be
-placed on the class path.
+Use the \f[B]\f[BC]\-\-class\-path\f[B]\f[R] option to specify libraries
+to be placed on the class path.
 Locations on the class path should be organized in a \f[B]package
 hierarchy\f[R].
 You can also use alternate forms of the option: \f[CB]\-classpath\f[R] or
 \f[CB]\-cp\f[R].
 .IP \[bu] 2
-Use the \f[CB]\-\-module\-path\f[R] option to specify libraries to be
-placed on the module path.
+Use the \f[B]\f[BC]\-\-module\-path\f[B]\f[R] option to specify libraries
+to be placed on the module path.
 Locations on the module path should either be modules or directories of
 modules.
 You can also use an alternate form of the option: \f[CB]\-p\f[R].
 .RS 2
 .PP

@@ -1234,27 +1243,28 @@
 You can only specify one of these options: if you are not compiling code
 for a module, or if you are only compiling code for a single module, use
 the source path; if you are compiling code for multiple modules, use the
 module source path.
 .IP \[bu] 2
-Use the \f[CB]\-\-source\-path\f[R] option to specify the locations of
-additional source files that may be read by javac.
+Use the \f[B]\f[BC]\-\-source\-path\f[B]\f[R] option to specify the
+locations of additional source files that may be read by javac.
 Locations on the source path should be organized in a \f[B]package
 hierarchy\f[R].
 You can also use an alternate form of the option: \f[CB]\-sourcepath\f[R].
 .IP \[bu] 2
-Use the \f[CB]\-\-module\-source\-path\f[R] option one or more times to
-specify the location of additional source files in different modules
-that may be read by javac, or when compiling source files in multiple
-modules.
+Use the \f[B]\f[BC]\-\-module\-source\-path\f[B]\f[R] option one or more
+times to specify the location of additional source files in different
+modules that may be read by javac, or when compiling source files in
+multiple modules.
 You can either specify the locations for each module
 \f[B]individually\f[R], or you can organize the source files so that you
 can specify the locations all \f[B]together\f[R].
 For more details, see \f[B]The Module Source Path Option\f[R].
 .PP
 If you want to be able to refer to types in additional source files but
-do not want them to be compiled, use the \f[CB]\-implicit\f[R] option.
+do not want them to be compiled, use the \f[B]\f[BC]\-implicit\f[B]\f[R]
+option.
 .PP
 \f[B]Note\f[R]: if you are compiling code for multiple modules, you must
 always specify a module source path, and all source files specified on
 the command line must be in one of the directories on the module source
 path, or in a subdirectory thereof.

@@ -1369,34 +1379,34 @@
 \f[CB]C:\\>java\ \-classpath\ \\examples;\\lib\\Banners.jar\ greetings.Hi\f[R]
 .RE
 .SH CONFIGURING THE MODULE SYSTEM
 .PP
 If you want to include additional modules in your compilation, use the
-\f[CB]\-\-add\-modules\f[R] option.
+\f[B]\f[BC]\-\-add\-modules\f[B]\f[R] option.
 This may be necessary when you are compiling code that is not in a
 module, or which is in an automatic module, and the code refers to API
 in the additional modules.
 .PP
 If you want to restrict the set of modules in your compilation, use the
-\f[CB]\-\-limit\-modules\f[R] option.
+\f[B]\f[BC]\-\-limit\-modules\f[B]\f[R] option.
 This may be useful if you want to ensure that the code you are compiling
 is capable of running on a system with a limited set of modules
 installed.
 .PP
 If you want to break encapsulation and specify that additional packages
 should be considered as exported from a module, use the
-\f[CB]\-\-add\-exports\f[R] option.
+\f[B]\f[BC]\-\-add\-exports\f[B]\f[R] option.
 This may be useful when performing white\-box testing; relying on access
 to internal API in production code is strongly discouraged.
 .PP
 If you want to specify that additional packages should be considered as
-required by a module, use the \f[CB]\-\-add\-reads\f[R] option.
+required by a module, use the \f[B]\f[BC]\-\-add\-reads\f[B]\f[R] option.
 This may be useful when performing white\-box testing; relying on access
 to internal API in production code is strongly discouraged.
 .PP
 You can patch additional content into any module using the
-\f[CB]\-\-patch\-module\f[R] option.
+\f[B]\f[BC]\-\-patch\-module\f[B]\f[R] option.
 See [Patching a Module] for more details.
 .SH SEARCHING FOR MODULE, PACKAGE AND TYPE DECLARATIONS
 .PP
 To compile a source file, the compiler often needs information about a
 module or type, but the declaration is not in the source files specified

@@ -1414,28 +1424,27 @@
 .PP
 When compiling code for a module, the compiler also needs to have
 available the declaration of that module.
 .PP
 A successful search may produce a class file, a source file, or both.
-If both are found, then you can use the \f[CB]\-Xprefer\f[R] option to
-instruct the compiler which to use; see \f[B]Extra Options\f[R].
+If both are found, then you can use the \f[B]\f[BC]\-Xprefer\f[B]\f[R]
+option to instruct the compiler which to use.
 .PP
 If a search finds and uses a source file, then by default \f[CB]javac\f[R]
 compiles that source file.
-This behavior can be altered with \f[CB]\-implicit\f[R]; see \f[B]Standard
-Options\f[R].
+This behavior can be altered with \f[B]\f[BC]\-implicit\f[B]\f[R].
 .PP
 The compiler might not discover the need for some type information until
 after annotation processing completes.
 When the type information is found in a source file and no
-\f[CB]\-implicit\f[R] option is specified, the compiler gives a warning
-that the file is being compiled without being subject to annotation
-processing.
+\f[B]\f[BC]\-implicit\f[B]\f[R] option is specified, the compiler gives a
+warning that the file is being compiled without being subject to
+annotation processing.
 To disable the warning, either specify the file on the command line (so
 that it will be subject to annotation processing) or use the
-\f[CB]\-implicit\f[R] option to specify whether or not class files should
-be generated for such source files.
+\f[B]\f[BC]\-implicit\f[B]\f[R] option to specify whether or not class
+files should be generated for such source files.
 .PP
 The way that \f[CB]javac\f[R] locates the declarations of those types
 depends on whether the reference exists within code for a module or not.
 .SS Searching Package Oriented Paths
 .PP

@@ -1457,19 +1466,20 @@
 .PP
 Prior to scanning any module paths for any package or type declarations,
 \f[CB]javac\f[R] will lazily scan the following paths and locations to
 determine the modules that will be used in the compilation.
 .IP \[bu] 2
-The module source path (see the \f[CB]\-\-module\-source\-path\f[R]
-option)
+The module source path (see the
+\f[B]\f[BC]\-\-module\-source\-path\f[B]\f[R] option)
 .IP \[bu] 2
 The path for upgradeable modules (see the
-\f[CB]\-\-upgrade\-module\-path\f[R] option)
+\f[B]\f[BC]\-\-upgrade\-module\-path\f[B]\f[R] option)
 .IP \[bu] 2
-The system modules (see the \f[CB]\-\-system\f[R] option)
+The system modules (see the \f[B]\f[BC]\-\-system\f[B]\f[R] option)
 .IP \[bu] 2
-The user module path ( see the \f[CB]\-\-module\-path\f[R] option)
+The user module path ( see the \f[B]\f[BC]\-\-module\-path\f[B]\f[R]
+option)
 .PP
 For any module, the first occurrence of the module during the scan
 completely shadows (hides) any subsequent appearance of a like\-named
 module.
 While locating the modules, \f[CB]javac\f[R] is able to determine the

@@ -1522,12 +1532,12 @@
 When looking for a type on the class path and/or source path, if both a
 compiled class file and a source file are found, the most recently
 modified file will be used by default.
 If the source file is newer, it will be compiled and will may override
 any previously compiled version of the file.
-You can use the \f[CB]\-Xprefer\f[R] option to override the default
-behavior.
+You can use the \f[B]\f[BC]\-Xprefer\f[B]\f[R] option to override the
+default behavior.
 .SS Searching for the Declaration of a Type When the Reference is in a
 Module
 .PP
 When searching for a type that is referenced in code in a module,
 \f[CB]javac\f[R] will examine the declaration of the enclosing module to

@@ -1568,15 +1578,16 @@
 will be organized in package hierarchies or module hierarchies, as
 appropriate.
 .PP
 The location of these hierarchies are specified to \f[CB]javac\f[R] with
 command\-line options, whose names typically end in "path", like
-\f[CB]\-\-source\-path\f[R] or \f[CB]\-\-class\-path\f[R].
+\f[B]\f[BC]\-\-source\-path\f[B]\f[R] or
+\f[B]\f[BC]\-\-class\-path\f[B]\f[R].
 Also as a general rule, path options whose name includes the word
-\f[CB]module\f[R], like \f[CB]\-\-module\-path\f[R], are used to specify
-module hierarchies, although some module\-related path options allow a
-package hierarchy to be specified on a per\-module basis.
+\f[CB]module\f[R], like \f[B]\f[BC]\-\-module\-path\f[B]\f[R], are used to
+specify module hierarchies, although some module\-related path options
+allow a package hierarchy to be specified on a per\-module basis.
 All other path options are used to specify package hierarchies.
 .SS Package Hierarchy
 .PP
 In a package hierarchy, directories and subdirectories are used to
 represent the component parts of the package name, with the source file

@@ -1616,11 +1627,11 @@
 called \f[CB]com.example.MyClass\f[R] in a module called
 \f[CB]my.library\f[R] may be stored in a file such as
 \f[I]my.library/src/main/java/com/example/MyClass.java\f[R].
 .SH THE MODULE SOURCE PATH OPTION
 .PP
-The \f[CB]\-\-module\-source\-path\f[R] option has two forms: a
+The \f[B]\f[BC]\-\-module\-source\-path\f[B]\f[R] option has two forms: a
 \f[I]module\-specific form\f[R], in which a package path is given for
 each module containing code to be compiled, and a
 \f[I]module\-pattern\f[R] form, in which the source path for each module
 is specified by a pattern.
 The module\-specific form is generally simpler to use when only a small

@@ -1651,11 +1662,11 @@
 .PP
 The path separator character is \f[CB];\f[R] on Windows, and \f[CB]:\f[R]
 otherwise.
 .PP
 \f[B]Note:\f[R] this is similar to the form used for the
-\f[CB]\-\-patch\-module\f[R] option.
+\f[B]\f[BC]\-\-patch\-module\f[B]\f[R] option.
 .SS Module\-pattern form
 .PP
 The module\-pattern form allows a concise specification of the module
 source path for any number of modules organized in regular manner.
 .IP \[bu] 2

@@ -1708,11 +1719,12 @@
 wildcard character, as found on most operating systems.
 .RE
 .SH PATCHING MODULES
 .PP
 javac allows any content, whether in source or compiled form, to be
-patched into any module using the \f[CB]\-\-patch\-module\f[R] option.
+patched into any module using the \f[B]\f[BC]\-\-patch\-module\f[B]\f[R]
+option.
 You may want to do this to compile alternative implementations of a
 class to be patched at runtime into a JVM, or to inject additional
 classes into the module, such as when testing.
 .PP
 The form of the option is:

@@ -1729,36 +1741,36 @@
 The option may be given at most once for any given module.
 Any content on the path will hide any like\-named content later in the
 path and in the patched module.
 .PP
 When patching source code into more than one module, the
-\f[CB]\-\-module\-source\-path\f[R] must also be used, so that the output
-directory is organized in a module hierarchy, and capable of holding the
-compiled class files for the modules being compiled.
+\f[B]\f[BC]\-\-module\-source\-path\f[B]\f[R] must also be used, so that
+the output directory is organized in a module hierarchy, and capable of
+holding the compiled class files for the modules being compiled.
 .SH ANNOTATION PROCESSING
 .PP
 The \f[CB]javac\f[R] command provides direct support for annotation
 processing.
 .PP
 The API for annotation processors is defined in the
 \f[CB]javax.annotation.processing\f[R] and \f[CB]javax.lang.model\f[R]
 packages and subpackages.
 .SS How Annotation Processing Works
 .PP
-Unless annotation processing is disabled with the \f[CB]\-proc:none\f[R]
-option, the compiler searches for any annotation processors that are
-available.
-The search path can be specified with the \f[CB]\-processorpath\f[R]
-option.
+Unless annotation processing is disabled with the
+\f[B]\f[BC]\-proc:none\f[B]\f[R] option, the compiler searches for any
+annotation processors that are available.
+The search path can be specified with the
+\f[B]\f[BC]\-processorpath\f[B]\f[R] option.
 If no path is specified, then the user class path is used.
 Processors are located by means of service provider\-configuration files
 named \f[CB]META\-INF/services/javax.annotation.processing\f[R].
 Processor on the search path.
 Such files should contain the names of any annotation processors to be
 used, listed one per line.
 Alternatively, processors can be specified explicitly, using the
-\f[CB]\-processor\f[R] option.
+\f[B]\f[BC]\-processor\f[B]\f[R] option.
 .PP
 After scanning the source files and classes on the command line to
 determine what annotations are present, the compiler queries the
 processors to determine what annotations they process.
 When a match is found, the processor is called.

@@ -1775,19 +1787,19 @@
 This continues until no new source files are generated.
 .PP
 After a round occurs where no new source files are generated, the
 annotation processors are called one last time, to give them a chance to
 complete any remaining work.
-Finally, unless the \f[CB]\-proc:only\f[R] option is used, the compiler
-compiles the original and all generated source files.
+Finally, unless the \f[B]\f[BC]\-proc:only\f[B]\f[R] option is used, the
+compiler compiles the original and all generated source files.
 .PP
 If you use an annotation processor that generates additional source
 files to be included in the compilation, you can specify a default
 module to be used for the newly generated files, for use when a module
 declaration is not also generated.
-In this case, use the \f[CB]\-\-default\-module\-for\-created\-files\f[R]
-option.
+In this case, use the
+\f[B]\f[BC]\-\-default\-module\-for\-created\-files\f[B]\f[R] option.
 .SS Compilation Environment and Runtime Environment.
 .PP
 The declarations in source files and previously compiled class files are
 analyzed by \f[CB]javac\f[R] in a \f[I]compilation environment\f[R] that is
 distinct from the \f[I]runtime environment\f[R] used to execute

@@ -1805,47 +1817,49 @@
 exist in the compilation environment, the annotation processor itself is
 executed in the runtime environment.
 If an annotation processor has dependencies on libraries that are not in
 modules, the libraries can be placed, along with the annotation
 processor itself, on the processor path.
-(See the \f[CB]\-\-processor\-path\f[R] option.) If the annotation
-processor and its dependencies are in modules, you should use the
-processor module path instead.
-(See the \f[CB]\-\-processor\-module\-path\f[R] option.) When those are
-insufficient, it may be necessary to provide further configuration of
-the runtime environment.
+(See the \f[B]\f[BC]\-\-processor\-path\f[B]\f[R] option.) If the
+annotation processor and its dependencies are in modules, you should use
+the processor module path instead.
+(See the \f[B]\f[BC]\-\-processor\-module\-path\f[B]\f[R] option.) When
+those are insufficient, it may be necessary to provide further
+configuration of the runtime environment.
 This can be done in two ways:
 .IP "1." 3
 If \f[CB]javac\f[R] is invoked from the command line, options can be
 passed to the underlying runtime by prefixing the option with
-\f[CB]\-J\f[R].
-(See the \f[CB]\-J\f[R] option.)
+\f[B]\f[BC]\-J\f[B]\f[R].
 .IP "2." 3
 You can start an instance of a Java Virtual Machine directly and use
 command line options and API to configure an environment in which
 \f[CB]javac\f[R] can be invoked via one of its \f[B]APIs\f[R].
 .SH COMPILING FOR EARLIER RELEASES OF THE PLATFORM
 .PP
 \f[CB]javac\f[R] can compile code that is to be used on other releases of
-the platform, using either the \f[CB]\-\-release\f[R] option, or the
-\f[CB]\-\-source\f[R]/\f[CB]\-source\f[R] and
-\f[CB]\-\-target\f[R]/\f[CB]\-target\f[R] options, together with additional
-options to specify the platform classes.
+the platform, using either the \f[B]\f[BC]\-\-release\f[B]\f[R] option,
+or the \f[B]\f[BC]\-\-source\f[B]\f[R]/\f[CB]\-source\f[R] and
+\f[B]\f[BC]\-\-target\f[B]\f[R]/\f[CB]\-target\f[R] options, together with
+additional options to specify the platform classes.
 .PP
 Depending on the desired platform release, there are some restrictions
 on some of the options that can be used.
 .IP \[bu] 2
 When compiling for JDK 8 and earlier releases, you cannot use any option
 that is intended for use with the module system.
 This includes all of the following options:
 .RS 2
 .IP \[bu] 2
-\f[CB]\-\-module\-source\-path\f[R], \f[CB]\-\-upgrade\-module\-path\f[R],
-\f[CB]\-\-system\f[R], \f[CB]\-\-module\-path\f[R],
-\f[CB]\-\-add\-modules\f[R], \f[CB]\-\-add\-exports\f[R],
-\f[CB]\-\-add\-opens\f[R], \f[CB]\-\-add\-reads\f[R],
-\f[CB]\-\-limit\-modules\f[R], \f[CB]\-\-patch\-module\f[R]
+\f[B]\f[BC]\-\-module\-source\-path\f[B]\f[R],
+\f[B]\f[BC]\-\-upgrade\-module\-path\f[B]\f[R],
+\f[B]\f[BC]\-\-system\f[B]\f[R], \f[B]\f[BC]\-\-module\-path\f[B]\f[R],
+\f[B]\f[BC]\-\-add\-modules\f[B]\f[R],
+\f[B]\f[BC]\-\-add\-exports\f[B]\f[R], \f[CB]\-\-add\-opens\f[R],
+\f[B]\f[BC]\-\-add\-reads\f[B]\f[R],
+\f[B]\f[BC]\-\-limit\-modules\f[B]\f[R],
+\f[B]\f[BC]\-\-patch\-module\f[B]\f[R]
 .PP
 If you use the \f[CB]\-\-source\f[R]/\f[CB]\-source\f[R] or
 \f[CB]\-\-target\f[R]/\f[CB]\-target\f[R] options, you should also set the
 appropriate platform classes using the boot class path family of
 options.

@@ -1854,14 +1868,17 @@
 When compiling for JDK 9 and later releases, you cannot use any option
 that is intended to configure the boot class path.
 This includes all of the following options:
 .RS 2
 .IP \[bu] 2
-\f[CB]\-Xbootclasspath/p:\f[R], \f[CB]\-Xbootclasspath\f[R],
-\f[CB]\-Xbootclasspath/a:\f[R], \f[CB]\-endorseddirs\f[R],
-\f[CB]\-Djava.endorsed.dirs\f[R], \f[CB]\-extdirs\f[R],
-\f[CB]\-Djava.ext.dirs\f[R], \f[CB]\-profile\f[R]
+\f[B]\f[BC]\-Xbootclasspath/p:\f[B]\f[R],
+\f[B]\f[BC]\-Xbootclasspath\f[B]\f[R],
+\f[B]\f[BC]\-Xbootclasspath/a:\f[B]\f[R],
+\f[B]\f[BC]\-endorseddirs\f[B]\f[R],
+\f[B]\f[BC]\-Djava.endorsed.dirs\f[B]\f[R],
+\f[B]\f[BC]\-extdirs\f[B]\f[R], \f[B]\f[BC]\-Djava.ext.dirs\f[B]\f[R],
+\f[B]\f[BC]\-profile\f[B]\f[R]
 .PP
 If you use the \f[CB]\-\-source\f[R]/\f[CB]\-source\f[R] or
 \f[CB]\-\-target\f[R]/\f[CB]\-target\f[R] options, you should also set the
 appropriate platform classes using the \f[CB]\-\-system\f[R] option to
 give the location of an appropriate installed release of JDK.
< prev index next >