--- old/src/jdk.jdeps/share/man/jdeps.1 2019-05-31 13:32:06.965376228 -0700 +++ new/src/jdk.jdeps/share/man/jdeps.1 2019-05-31 13:32:06.701376237 -0700 @@ -1,5 +1,4 @@ -'\" 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 @@ -20,518 +19,380 @@ .\" 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 * -.\" ----------------------------------------------------------------- - -.SH NAME -jdeps \- Java class dependency analyzer\&. -.SH SYNOPSIS -.sp -.nf - -\fBjdeps\fR [\fIoptions\fR] \fIclasses\fR \&.\&.\&. -.fi -.sp -.TP -\fIoptions\fR -Command-line options\&. See Options\&. -.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\&. -.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 -.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 (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 (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 "" \-> "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 -.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 -.fi -.sp -.SH SEE\ ALSO -.TP 0.2i -\(bu -javap(1) -.RE -.br -'pl 8.5i -'bp +.TH "JDEPS" "1" "2018" "JDK 13" "JDK Commands" +.hy +.SH NAME +.PP +jdeps \- launch the Java class dependency analyzer +.SH SYNOPSIS +.PP +\f[CB]jdeps\f[R] [\f[I]options\f[R]] \f[I]path\f[R] ... +.TP +.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 +.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 +.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 +.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 +\ \ \ \ (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 +\ \ \ \ (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