< prev index next >
src/jdk.jdeps/share/man/jdeps.1
Print this page
*** 1,7 ****
! '\" t
! .\" Copyright (c) 2013, 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.
--- 1,6 ----
! .\" 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,537 ****
.\"
.\" 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
.\"
! .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 <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
.fi
- .sp
- .SH SEE\ ALSO
- .TP 0.2i
- \(bu
- javap(1)
- .RE
- .br
- 'pl 8.5i
- 'bp
--- 17,398 ----
.\"
.\" 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.
.\"
! .\" Automatically generated by Pandoc 2.3.1
.\"
! .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
! \ \ \ <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
< prev index next >