< prev index next >

src/jdk.jdeps/share/man/jdeps.1

Print this page

        

@@ -1,7 +1,6 @@
-'\" t
-.\" Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
+.\" Copyright (c) 1994, 2019, Oracle and/or its affiliates. All rights reserved.
 .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 .\"
 .\" This code is free software; you can redistribute it and/or modify it
 .\" under the terms of the GNU General Public License version 2 only, as
 .\" published by the Free Software Foundation.

@@ -18,520 +17,382 @@
 .\"
 .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 .\" or visit www.oracle.com if you need additional information or have any
 .\" questions.
 .\"
-.\"     Arch: generic
-.\"     Software: JDK 8
-.\"     Date: 21 November 2013
-.\"     SectDesc: Basic Tools
-.\"     Title: jdeps.1
+.\" Automatically generated by Pandoc 2.3.1
 .\"
-.if n .pl 99999
-.TH jdeps 1 "21 November 2013" "JDK 8" "Basic Tools"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el       .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-
+.TH "JDEPS" "1" "2018" "JDK 13" "JDK Commands"
+.hy
 .SH NAME    
-jdeps \- Java class dependency analyzer\&.
+.PP
+jdeps \- launch the Java class dependency analyzer
 .SH SYNOPSIS    
-.sp     
-.nf     
-
-\fBjdeps\fR [\fIoptions\fR] \fIclasses\fR \&.\&.\&.
-.fi     
-.sp     
+.PP
+\f[CB]jdeps\f[R] [\f[I]options\f[R]] \f[I]path\f[R] ...
 .TP     
-\fIoptions\fR
-Command-line options\&. See Options\&.
+.B \f[I]options\f[R]
+Command\-line options.
+For detailed descriptions of the options that can be used, see
+.RS
+.IP \[bu] 2
+\f[B]Possible Options\f[R]
+.IP \[bu] 2
+\f[B]Module Dependence Analysis Options\f[R]
+.IP \[bu] 2
+\f[B]Options to Filter Dependences\f[R]
+.IP \[bu] 2
+\f[B]Options to Filter Classes to be Analyzed\f[R]
+.RE
 .TP     
-\fIclasses\fR
-Name of the classes to analyze\&. You can specify a class that can be found in the class path, by its file name, a directory, or a JAR file\&.
+.B \f[I]path\f[R]
+A pathname to the \f[CB]\&.class\f[R] file, directory, or JAR file to
+analyze.
+.RS
+.RE
 .SH DESCRIPTION    
-The \fI\fR\f3jdeps\fR command shows the package-level or class-level dependencies of Java class files\&. The input class can be a path name to a \f3\&.class\fR file, a directory, a JAR file, or it can be a fully qualified class name to analyze all class files\&. The options determine the output\&. By default, \f3jdeps\fR outputs the dependencies to the system output\&. It can generate the dependencies in DOT language (see the \f3-dotoutput\fR option)\&.
-.SH OPTIONS    
+.PP
+The \f[CB]jdeps\f[R] command shows the package\-level or class\-level
+dependencies of Java class files.
+The input class can be a path name to a \f[CB]\&.class\f[R] file, a
+directory, a JAR file, or it can be a fully qualified class name to
+analyze all class files.
+The options determine the output.
+By default, the \f[CB]jdeps\f[R] command writes the dependencies to the
+system output.
+The command can generate the dependencies in DOT language (see the
+\f[CB]\-dotoutput\f[R] option).
+.SH POSSIBLE OPTIONS
+.TP
+.B \f[CB]\-dotoutput\f[R] \f[I]dir\f[R] or \f[CB]\-\-dot\-output\f[R] \f[I]dir\f[R]
+Specifies the destination directory for DOT file output.
+If this option is specified, then the \f[CB]jdeps\f[R]command generates
+one \f[CB]\&.dot\f[R] file for each analyzed archive named
+\f[CB]archive\-file\-name.dot\f[R] that lists the dependencies, and also a
+summary file named \f[CB]summary.dot\f[R] that lists the dependencies
+among the archive files.
+.RS
+.RE
 .TP
--dotoutput <\fIdir\fR>
-.br
-Destination directory for DOT file output\&. If specified, \f3jdeps\fR will generate one dot file per each analyzed archive named <\fIarchive-file-name\fR>\&.dot listing the dependencies, and also a summary file named summary\&.dot listing the dependencies among the archives\&.
-.TP
--s, -summary
-.br
-Prints dependency summary only\&.
-.TP
--v, -verbose
-.br
-Prints all class-level dependencies\&.
-.TP
--verbose:package
-.br
-Prints package-level dependencies excluding dependencies within the same archive\&.
-.TP
--verbose:class
-.br
-Prints class-level dependencies excluding dependencies within the same archive\&.
-.TP
--cp <\fIpath\fR>, -classpath <\fIpath\fR>
-.br
-Specifies where to find class files\&.
-
-See also Setting the Class Path\&.
-.TP
--p <\fIpkg name\fR>, -package <\fIpkg name\fR>
-.br
-Finds dependencies in the specified package\&. You can specify this option multiple times for different packages\&. The \f3-p\fR and \f3-e\fR options are mutually exclusive\&.
-.TP
--e <\fIregex\fR>, -regex <\fIregex\fR>
-.br
-Finds dependencies in packages matching the specified regular expression pattern\&. The \f3-p\fR and \f3-e\fR options are mutually exclusive\&.
-.TP
--include <\fIregex\fR>
-.br
-Restricts analysis to classes matching pattern\&. This option filters the list of classes to be analyzed\&. It can be used together with \f3-p\fR and \f3-e\fR which apply pattern to the dependencies\&.
-.TP
--jdkinternals
-.br
-Finds class-level dependences in JDK internal APIs\&. By default, it analyzes all classes specified in the \f3-classpath\fR option and in input files unless you specified the \f3-include\fR option\&. You cannot use this option with the \f3-p\fR, \f3-e\fR, and \f3-s\fR options\&.
-
-\fIWarning\fR: JDK internal APIs may not be accessible in upcoming releases\&.
-.TP
--P, -profile
-.br
-Shows profile or the file containing a package\&.
-.TP
--apionly
-.br
-Restricts analysis to APIs, for example, dependences from the signature of \f3public\fR and \f3protected\fR members of public classes including field type, method parameter types, returned type, and checked exception types\&.
-.TP
--R, -recursive
-.br
-Recursively traverses all dependencies\&.
-.TP
--version
-.br
-Prints version information\&.
-.TP
--h, -?, -help
-.br
-Prints help message for \f3jdeps\fR\&.
-.SH EXAMPLES    
-Analyzing the dependencies of Notepad\&.jar\&.
-.sp     
-.nf     
-\f3$ jdeps demo/jfc/Notepad/Notepad\&.jar\fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.nf     
-\f3demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar\fP
-.fi     
-.nf     
-\f3   <unnamed> (Notepad\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.awt                                           \fP
-.fi     
-.nf     
-\f3      \-> java\&.awt\&.event                                     \fP
-.fi     
-.nf     
-\f3      \-> java\&.beans                                         \fP
-.fi     
-.nf     
-\f3      \-> java\&.io                                            \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.net                                           \fP
-.fi     
-.nf     
-\f3      \-> java\&.util                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.logging                                  \fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing                                        \fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.border                                 \fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.event                                  \fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.text                                   \fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.tree                                   \fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.undo  \fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.sp     
-Use -P or -profile option to show on which profile that Notepad depends\&.
-.sp     
-.nf     
-\f3$ jdeps \-profile demo/jfc/Notepad/Notepad\&.jar \fP
-.fi     
-.nf     
-\f3demo/jfc/Notepad/Notepad\&.jar \-> /usr/java/jre/lib/rt\&.jar (Full JRE)\fP
-.fi     
-.nf     
-\f3   <unnamed> (Notepad\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.awt                                           Full JRE\fP
-.fi     
-.nf     
-\f3      \-> java\&.awt\&.event                                     Full JRE\fP
-.fi     
-.nf     
-\f3      \-> java\&.beans                                         Full JRE\fP
-.fi     
-.nf     
-\f3      \-> java\&.io                                            compact1\fP
-.fi     
-.nf     
-\f3      \-> java\&.lang                                          compact1\fP
-.fi     
-.nf     
-\f3      \-> java\&.net                                           compact1\fP
-.fi     
-.nf     
-\f3      \-> java\&.util                                          compact1\fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.logging                                  compact1\fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing                                        Full JRE\fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.border                                 Full JRE\fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.event                                  Full JRE\fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.text                                   Full JRE\fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.tree                                   Full JRE\fP
-.fi     
-.nf     
-\f3      \-> javax\&.swing\&.undo                                   Full JRE\fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.sp     
-Analyzing the immediate dependencies of a specific class in a given classpath, for example the \f3com\&.sun\&.tools\&.jdeps\&.Main\fR class in the tools\&.jar file\&.
-.sp     
-.nf     
-\f3$ jdeps \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main\fP
-.fi     
-.nf     
-\f3lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar\fP
-.fi     
-.nf     
-\f3   com\&.sun\&.tools\&.jdeps (tools\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.io                                            \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang \fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.sp     
-Use the \f3-verbose:class\fR option to find class-level dependencies or use the \f3-v\fR or \f3-verbose\fR option to include dependencies from the same JAR file\&.
-.sp     
-.nf     
-\f3$ jdeps \-verbose:class \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main\fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.nf     
-\f3lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar\fP
-.fi     
-.nf     
-\f3   com\&.sun\&.tools\&.jdeps\&.Main (tools\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.io\&.PrintWriter                                \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang\&.Exception                                \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang\&.Object                                   \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang\&.String                                   \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang\&.System \fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.sp     
-Use the \f3-R\fR or \f3-recursive\fR option to analyze the transitive dependencies of the \f3com\&.sun\&.tools\&.jdeps\&.Main\fR class\&.
-.sp     
-.nf     
-\f3$ jdeps \-R \-cp lib/tools\&.jar com\&.sun\&.tools\&.jdeps\&.Main\fP
-.fi     
-.nf     
-\f3lib/tools\&.jar \-> /usr/java/jre/lib/rt\&.jar\fP
-.fi     
-.nf     
-\f3   com\&.sun\&.tools\&.classfile (tools\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.io                                            \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang\&.reflect                                  \fP
-.fi     
-.nf     
-\f3      \-> java\&.nio\&.charset                                   \fP
-.fi     
-.nf     
-\f3      \-> java\&.nio\&.file                                      \fP
-.fi     
-.nf     
-\f3      \-> java\&.util                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.regex                                    \fP
-.fi     
-.nf     
-\f3   com\&.sun\&.tools\&.jdeps (tools\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.io                                            \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.nio\&.file                                      \fP
-.fi     
-.nf     
-\f3      \-> java\&.nio\&.file\&.attribute                            \fP
-.fi     
-.nf     
-\f3      \-> java\&.text                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.util                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.jar                                      \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.regex                                    \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.zip                                      \fP
-.fi     
-.nf     
-\f3/usr/java/jre/lib/jce\&.jar \-> /usr/java/jre/lib/rt\&.jar\fP
-.fi     
-.nf     
-\f3   javax\&.crypto (jce\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.io                                            \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.lang\&.reflect                                  \fP
-.fi     
-.nf     
-\f3      \-> java\&.net                                           \fP
-.fi     
-.nf     
-\f3      \-> java\&.nio                                           \fP
-.fi     
-.nf     
-\f3      \-> java\&.security                                      \fP
-.fi     
-.nf     
-\f3      \-> java\&.security\&.cert                                 \fP
-.fi     
-.nf     
-\f3      \-> java\&.security\&.spec                                 \fP
-.fi     
-.nf     
-\f3      \-> java\&.util                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.concurrent                               \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.jar                                      \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.regex                                    \fP
-.fi     
-.nf     
-\f3      \-> java\&.util\&.zip                                      \fP
-.fi     
-.nf     
-\f3      \-> javax\&.security\&.auth                                \fP
-.fi     
-.nf     
-\f3      \-> sun\&.security\&.jca                                   JDK internal API (rt\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> sun\&.security\&.util                                  JDK internal API (rt\&.jar)\fP
-.fi     
-.nf     
-\f3   javax\&.crypto\&.spec (jce\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> java\&.lang                                          \fP
-.fi     
-.nf     
-\f3      \-> java\&.security\&.spec                                 \fP
-.fi     
-.nf     
-\f3      \-> java\&.util                                          \fP
-.fi     
-.nf     
-\f3/usr/java/jre/lib/rt\&.jar \-> /usr/java/jre/lib/jce\&.jar\fP
-.fi     
-.nf     
-\f3   java\&.security (rt\&.jar)\fP
-.fi     
-.nf     
-\f3      \-> javax\&.crypto\fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.sp     
-Generate dot files of the dependencies of Notepad demo\&.
-.sp     
-.nf     
-\f3$ jdeps \-dotoutput dot demo/jfc/Notepad/Notepad\&.jar\fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.sp     
-\f3jdeps\fR will create one dot file for each given JAR file named <\fIfilename\fR>\&.dot in the dot directory specified in the \f3-dotoutput\fR option, and also a summary file named summary\&.dot that will list the dependencies among the JAR files
-.sp     
-.nf     
-\f3$ cat dot/Notepad\&.jar\&.dot \fP
-.fi     
-.nf     
-\f3digraph "Notepad\&.jar" {\fP
-.fi     
-.nf     
-\f3    // Path: demo/jfc/Notepad/Notepad\&.jar\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.awt";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.awt\&.event";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.beans";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.io";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.lang";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.net";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.util";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "java\&.util\&.logging";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "javax\&.swing";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "javax\&.swing\&.border";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "javax\&.swing\&.event";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "javax\&.swing\&.text";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "javax\&.swing\&.tree";\fP
-.fi     
-.nf     
-\f3   "<unnamed>"                                        \-> "javax\&.swing\&.undo";\fP
-.fi     
-.nf     
-\f3}\fP
-.fi     
-.nf     
-\f3\fP
-.fi     
-.nf     
-\f3$ cat dot/summary\&.dot\fP
-.fi     
-.nf     
-\f3digraph "summary" {\fP
-.fi     
-.nf     
-\f3   "Notepad\&.jar"                  \-> "rt\&.jar";\fP
-.fi     
-.nf     
-\f3}\fP
-.fi     
-.nf     
-\f3\fP
+.B \f[CB]\-s\f[R] or \f[CB]\-summary\f[R]
+Prints a dependency summary only.
+.RS
+.RE
+.TP
+.B \f[CB]\-v\f[R] or \f[CB]\-verbose\f[R]
+Prints all class\-level dependencies.
+This is equivalent to
+.RS
+.RS
+.PP
+\f[CB]\-verbose:class\ \-filter:none\f[R]
+.RE
+.RE
+.TP
+.B \f[CB]\-verbose:package\f[R]
+Prints package\-level dependencies excluding, by default, dependences
+within the same package.
+.RS
+.RE
+.TP
+.B \f[CB]\-verbose:class\f[R]
+Prints class\-level dependencies excluding, by default, dependencies
+within the same archive.
+.RS
+.RE
+.TP
+.B \f[CB]\-apionly\f[R] or \f[CB]\-\-api\-only\f[R]
+Restricts the analysis to APIs, for example, dependences from the
+signature of \f[CB]public\f[R] and \f[CB]protected\f[R] members of public
+classes including field type, method parameter types, returned type, and
+checked exception types.
+.RS
+.RE
+.TP
+.B \f[CB]\-jdkinternals\f[R] or \f[CB]\-\-jdk\-internals\f[R]
+Finds class\-level dependences in the JDK internal APIs.
+By default, this option analyzes all classes specified in the
+\f[CB]\-\-classpath\f[R] option and input files unless you specified the
+\f[CB]\-include\f[R] option.
+You can\[aq]t use this option with the \f[CB]\-p\f[R], \f[CB]\-e\f[R], and
+\f[CB]\-s\f[R] options.
+.RS
+.PP
+\f[B]Warning\f[R]: The JDK internal APIs are inaccessible.
+.RE
+.TP
+.B \f[CB]\-cp\f[R] \f[I]path\f[R], \f[CB]\-classpath\f[R] \f[I]path\f[R], or \f[CB]\-\-class\-path\f[R] \f[I]path\f[R]
+Specifies where to find class files.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-module\-path\f[R] \f[I]module\-path\f[R]
+Specifies the module path.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-upgrade\-module\-path\f[R] \f[I]module\-path\f[R]
+Specifies the upgrade module path.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-system\f[R] \f[I]java\-home\f[R]
+Specifies an alternate system module path.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-add\-modules\f[R] \f[I]module\-name\f[R][\f[CB],\f[R] \f[I]module\-name\f[R]...]
+Adds modules to the root set for analysis.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-multi\-release\f[R] \f[I]version\f[R]
+Specifies the version when processing multi\-release JAR files.
+\f[I]version\f[R] should be an integer >=9 or base.
+.RS
+.RE
+.TP
+.B \f[CB]\-q\f[R] or \f[CB]\-quiet\f[R]
+Doesn\[aq]t show missing dependencies from
+\f[CB]\-generate\-module\-info\f[R] output.
+.RS
+.RE
+.TP
+.B \f[CB]\-version\f[R] or \f[CB]\-\-version\f[R]
+Prints version information.
+.RS
+.RE
+.SH MODULE DEPENDENCE ANALYSIS OPTIONS
+.TP
+.B \f[CB]\-m\f[R] \f[I]module\-name\f[R] or \f[CB]\-\-module\f[R] \f[I]module\-name\f[R]
+Specifies the root module for analysis.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-generate\-module\-info\f[R] \f[I]dir\f[R]
+Generates \f[CB]module\-info.java\f[R] under the specified directory.
+The specified JAR files will be analyzed.
+This option cannot be used with \f[CB]\-\-dot\-output\f[R] or
+\f[CB]\-\-class\-path\f[R] options.
+Use the \f[CB]\-\-generate\-open\-module\f[R] option for open modules.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-generate\-open\-module\f[R] \f[I]dir\f[R]
+Generates \f[CB]module\-info.java\f[R] for the specified JAR files under
+the specified directory as open modules.
+This option cannot be used with the \f[CB]\-\-dot\-output\f[R] or
+\f[CB]\-\-class\-path\f[R] options.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-check\f[R] \f[I]module\-name\f[R] [\f[CB],\f[R] \f[I]module\-name\f[R]...]
+Analyzes the dependence of the specified modules.
+It prints the module descriptor, the resulting module dependences after
+analysis and the graph after transition reduction.
+It also identifies any unused qualified exports.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-list\-deps\f[R]
+Lists the module dependences and also the package names of JDK internal
+APIs (if referenced).
+This option transitively analyzes libraries on class path and module
+path if referenced.
+Use \f[CB]\-\-no\-recursive\f[R] option for non\-transitive dependency
+analysis.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-list\-reduced\-deps\f[R]
+Same as \f[CB]\-\-list\-deps\f[R] without listing the implied reads edges
+from the module graph.
+If module M1 reads M2, and M2 requires transitive on M3, then M1 reading
+M3 is implied and is not shown in the graph.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-print\-module\-deps\f[R]
+Same as \f[CB]\-\-list\-reduced\-deps\f[R] with printing a
+comma\-separated list of module dependences.
+The output can be used by \f[CB]jlink\ \-\-add\-modules\f[R] to create a
+custom image that contains those modules and their transitive
+dependences.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-ignore\-missing\-deps\f[R]
+Ignore missing dependences.
+.RS
+.RE
+.SH OPTIONS TO FILTER DEPENDENCES
+.TP
+.B \f[CB]\-p\f[R] \f[I]pkg_name\f[R], \f[CB]\-package\f[R] \f[I]pkg_name\f[R], or \f[CB]\-\-package\f[R] \f[I]pkg_name\f[R]
+Finds dependences matching the specified package name.
+You can specify this option multiple times for different packages.
+The \f[CB]\-p\f[R] and \f[CB]\-e\f[R] options are mutually exclusive.
+.RS
+.RE
+.TP
+.B \f[CB]\-e\f[R] \f[I]regex\f[R], \f[CB]\-regex\f[R] \f[I]regex\f[R], or \f[CB]\-\-regex\f[R] \f[I]regex\f[R]
+Finds dependences matching the specified pattern.
+The \f[CB]\-p\f[R] and \f[CB]\-e\f[R] options are mutually exclusive.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-require\f[R] \f[I]module\-name\f[R]
+Finds dependences matching the given module name (may be given multiple
+times).
+The \f[CB]\-\-package\f[R], \f[CB]\-\-regex\f[R], and \f[CB]\-\-require\f[R]
+options are mutually exclusive.
+.RS
+.RE
+.TP
+.B \f[CB]\-f\f[R] \f[I]regex\f[R] or \f[CB]\-filter\f[R] \f[I]regex\f[R]
+Filters dependences matching the given pattern.
+If give multiple times, the last one will be selected.
+.RS
+.RE
+.TP
+.B \f[CB]\-filter:package\f[R]
+Filters dependences within the same package.
+This is the default.
+.RS
+.RE
+.TP
+.B \f[CB]\-filter:archive\f[R]
+Filters dependences within the same archive.
+.RS
+.RE
+.TP
+.B \f[CB]\-filter:module\f[R]
+Filters dependences within the same module.
+.RS
+.RE
+.TP
+.B \f[CB]\-filter:none\f[R]
+No \f[CB]\-filter:package\f[R] and \f[CB]\-filter:archive\f[R] filtering.
+Filtering specified via the \f[CB]\-filter\f[R] option still applies.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-missing\-deps\f[R]
+Finds missing dependences.
+This option cannot be used with \f[CB]\-p\f[R], \f[CB]\-e\f[R] and
+\f[CB]\-s\f[R] options.
+.RS
+.RE
+.SH OPTIONS TO FILTER CLASSES TO BE ANALYZED
+.TP
+.B \f[CB]\-include\f[R] \f[I]regex\f[R]
+Restricts analysis to the classes matching pattern.
+This option filters the list of classes to be analyzed.
+It can be used together with \f[CB]\-p\f[R] and \f[CB]\-e\f[R], which apply
+the pattern to the dependencies.
+.RS
+.RE
+.TP
+.B \f[CB]\-P\f[R] or \f[CB]\-profile\f[R]
+Shows the profile containing a package.
+.RS
+.RE
+.TP
+.B \f[CB]\-R\f[R] or \f[CB]\-recursive\f[R]
+Recursively traverses all run\-time dependences.
+The \f[CB]\-R\f[R] option implies \f[CB]\-filter:none\f[R].
+If \f[CB]\-p\f[R], \f[CB]\-e\f[R], or \f[CB]\-f\f[R] options are specified,
+only the matching dependences are analyzed.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-no\-recursive\f[R]
+Do not recursively traverse dependences.
+.RS
+.RE
+.TP
+.B \f[CB]\-I\f[R] or \f[CB]\-inverse\f[R]
+Analyzes the dependences per other given options and then finds all
+artifacts that directly and indirectly depend on the matching nodes.
+This is equivalent to the inverse of the compile\-time view analysis and
+the print dependency summary.
+This option must be used with the \f[CB]\-\-require\f[R],
+\f[CB]\-\-package\f[R], or \f[CB]\-\-regex\f[R] options.
+.RS
+.RE
+.TP
+.B \f[CB]\-\-compile\-time\f[R]
+Analyzes the compile\-time view of transitive dependencies, such as the
+compile\-time view of the \f[CB]\-R\f[R] option.
+Analyzes the dependences per other specified options.
+If a dependency is found from a directory, a JAR file or a module, all
+classes in that containing archive are analyzed.
+.RS
+.RE
+.SH EXAMPLE OF ANALYZING DEPENDENCIES
+.PP
+The following example demonstrates analyzing the dependencies of the
+\f[CB]Notepad.jar\f[R] file.
+.PP
+\f[B]Oracle Solaris, Linux, and OS X:\f[R]
+.IP
+.nf
+\f[CB]
+$\ jdeps\ demo/jfc/Notepad/Notepad.jar
+Notepad.jar\ \->\ java.base
+Notepad.jar\ \->\ java.desktop
+Notepad.jar\ \->\ java.logging
+\ \ \ <unnamed>\ (Notepad.jar)
+\ \ \ \ \ \ \->\ java.awt
+\ \ \ \ \ \ \->\ java.awt.event
+\ \ \ \ \ \ \->\ java.beans
+\ \ \ \ \ \ \->\ java.io
+\ \ \ \ \ \ \->\ java.lang
+\ \ \ \ \ \ \->\ java.net
+\ \ \ \ \ \ \->\ java.util
+\ \ \ \ \ \ \->\ java.util.logging
+\ \ \ \ \ \ \->\ javax.swing
+\ \ \ \ \ \ \->\ javax.swing.border
+\ \ \ \ \ \ \->\ javax.swing.event
+\ \ \ \ \ \ \->\ javax.swing.text
+\ \ \ \ \ \ \->\ javax.swing.tree
+\ \ \ \ \ \ \->\ javax.swing.undo
+\f[R]
+.fi
+.PP
+\f[B]Windows:\f[R]
+.IP
+.nf
+\f[CB]
+C:\\Java\\jdk1.9.0>jdeps\ demo\\jfc\\Notepad\\Notepad.jar
+Notepad.jar\ \->\ java.base
+Notepad.jar\ \->\ java.desktop
+Notepad.jar\ \->\ java.logging
+\ \ \ <unnamed>\ (Notepad.jar)
+\ \ \ \ \ \ \->\ java.awt
+\ \ \ \ \ \ \->\ java.awt.event
+\ \ \ \ \ \ \->\ java.beans
+\ \ \ \ \ \ \->\ java.io
+\ \ \ \ \ \ \->\ java.lang
+\ \ \ \ \ \ \->\ java.net
+\ \ \ \ \ \ \->\ java.util
+\ \ \ \ \ \ \->\ java.util.logging
+\ \ \ \ \ \ \->\ javax.swing
+\ \ \ \ \ \ \->\ javax.swing.border
+\ \ \ \ \ \ \->\ javax.swing.event
+\ \ \ \ \ \ \->\ javax.swing.text
+\ \ \ \ \ \ \->\ javax.swing.tree
+\ \ \ \ \ \ \->\ javax.swing.undo
+\f[R]
+.fi
+.SH EXAMPLE USING THE \-\-INVERSE OPTION
+.IP
+.nf
+\f[CB]
+\ $\ jdeps\ \-\-inverse\ \-\-require\ java.xml.bind
+Inverse\ transitive\ dependences\ on\ [java.xml.bind]
+java.xml.bind\ <\-\ java.se.ee
+java.xml.bind\ <\-\ jdk.xml.ws
+java.xml.bind\ <\-\ java.xml.ws\ <\-\ java.se.ee
+java.xml.bind\ <\-\ java.xml.ws\ <\-\ jdk.xml.ws
+java.xml.bind\ <\-\ jdk.xml.bind\ <\-\ jdk.xml.ws
+\f[R]
 .fi     
-.sp     
-.SH SEE\ ALSO    
-.TP 0.2i    
-\(bu
-javap(1)
-.RE
-.br
-'pl 8.5i
-'bp
< prev index next >