--- old/src/jdk.compiler/share/man/javac.1 2020-01-14 13:13:53.395223210 -0800 +++ new/src/jdk.compiler/share/man/javac.1 2020-01-14 13:13:53.091209804 -0800 @@ -7,7 +7,7 @@ .\" .\" 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 +.\" 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). .\" @@ -21,7 +21,7 @@ .\" .\" 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 @@ -65,8 +65,8 @@ 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. @@ -100,7 +100,7 @@ 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: @@ -160,7 +160,7 @@ 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]. @@ -179,7 +179,7 @@ .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 @@ -189,9 +189,10 @@ .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] @@ -205,12 +206,12 @@ \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] @@ -257,8 +258,8 @@ .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 @@ -276,8 +277,9 @@ .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] @@ -295,8 +297,9 @@ .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] @@ -468,8 +471,9 @@ .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] @@ -495,8 +499,8 @@ 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] @@ -560,7 +564,7 @@ .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] @@ -611,8 +615,9 @@ .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] @@ -621,8 +626,9 @@ .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]] @@ -642,8 +648,9 @@ .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] @@ -652,8 +659,9 @@ .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] @@ -662,8 +670,9 @@ .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]] @@ -929,9 +938,9 @@ .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 @@ -1181,12 +1190,12 @@ 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 @@ -1204,15 +1213,15 @@ 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]. @@ -1236,23 +1245,24 @@ 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 @@ -1371,30 +1381,30 @@ .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 @@ -1416,24 +1426,23 @@ 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. @@ -1459,15 +1468,16 @@ \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 @@ -1524,8 +1534,8 @@ 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 @@ -1570,11 +1580,12 @@ .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 @@ -1618,7 +1629,7 @@ \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 @@ -1653,7 +1664,7 @@ 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 @@ -1710,7 +1721,8 @@ .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. @@ -1731,9 +1743,9 @@ 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 @@ -1744,11 +1756,11 @@ 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]. @@ -1756,7 +1768,7 @@ 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 @@ -1777,15 +1789,15 @@ 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 @@ -1807,18 +1819,17 @@ 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 @@ -1826,10 +1837,10 @@ .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. @@ -1839,11 +1850,14 @@ 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 @@ -1856,10 +1870,13 @@ 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