'\" 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. .\" .\" 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 .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" 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-openjdk11 \- تحلیل‌گر وابستگی‌های کلاس جاوا .SH "خلاصه دستور (SYNOPSIS)" .sp .nf \fBjdeps\fR [\fIoptions\fR] \fIclasses\fR \&.\&.\&. .fi .sp .TP \fIoptions\fR گزینه‌های خط فرمان\&. بخش گزینه‌ها را ببینید\&. .TP \fIclasses\fR نام کلاس‌ها برای تحلیل\&. می‌توانید کلاسی را مشخص کنید که در مسیر کلاس (class path) با نام فایل آن، یک دایرکتوری یا یک فایل JAR پیدا شود\&. .SH "توضیحات (DESCRIPTION)" دستور \fI\fR\f3jdeps\fR وابستگی‌های فایل‌های کلاس جاوا را در سطح بسته یا در سطح کلاس نمایش می‌دهد\&. کلاس ورودی می‌تواند مسیر یک فایل \f3\&.class\fR، یک دایرکتوری، یک فایل JAR یا یک نام کامل کلاس (fully qualified class name) برای تحلیل تمام فایل‌های کلاس باشد\&. گزینه‌ها نوع خروجی را تعیین می‌کنند\&. به‌طور پیش‌فرض، \f3jdeps\fR وابستگی‌ها را در خروجی سیستم چاپ می‌کند\&. این ابزار می‌تواند وابستگی‌ها را در زبان DOT تولید کند (گزینه \f3-dotoutput\fR را ببینید)\&. .SH "گزینه‌ها (OPTIONS)" .TP -dotoutput <\fIdir\fR> .br دایرکتوری مقصد برای خروجی فایل DOT\&. در صورت تعیین، \f3jdeps\fR برای هر آرشیو تحلیل‌شده یک فایل dot با نام <\fIarchive-file-name\fR>\&.dot شامل فهرست وابستگی‌ها و همچنین یک فایل خلاصه با نام summary\&.dot شامل فهرست وابستگی‌های میان آرشیوها تولید می‌کند\&. .TP -s, -summary .br تنها خلاصه وابستگی‌ها را چاپ می‌کند\&. .TP -v, -verbose .br تمام وابستگی‌ها در سطح کلاس را چاپ می‌کند\&. .TP -verbose:package .br وابستگی‌ها در سطح بسته را بدون احتساب وابستگی‌های درون همان آرشیو چاپ می‌کند\&. .TP -verbose:class .br وابستگی‌ها در سطح کلاس را بدون احتساب وابستگی‌های درون همان آرشیو چاپ می‌کند\&. .TP -cp <\fIpath\fR>, -classpath <\fIpath\fR> .br محل یافتن فایل‌های کلاس را مشخص می‌کند\&. همچنین بخش تنظیم مسیر کلاس (Setting the Class Path) را ببینید\&. .TP -p <\fIpkg name\fR>, -package <\fIpkg name\fR> .br وابستگی‌ها را در بسته مشخص‌شده پیدا می‌کند\&. می‌توانید این گزینه را چندین بار برای بسته‌های مختلف مشخص کنید\&. گزینه‌های \f3-p\fR و \f3-e\fR مانعة‌الجمع هستند\&. .TP -e <\fIregex\fR>, -regex <\fIregex\fR> .br وابستگی‌ها را در بسته‌هایی که با الگوی عبارت باقاعده (regex) مشخص‌شده مطابقت دارند پیدا می‌کند\&. گزینه‌های \f3-p\fR و \f3-e\fR مانعة‌الجمع هستند\&. .TP -include <\fIregex\fR> .br تحلیل را به کلاس‌هایی که با الگو مطابقت دارند محدود می‌کند\&. این گزینه فهرست کلاس‌های مورد تحلیل را فیلتر می‌کند\&. این گزینه را می‌توان همراه با \f3-p\fR و \f3-e\fR که الگو را روی وابستگی‌ها اعمال می‌کنند به کار برد\&. .TP -jdkinternals .br وابستگی‌های در سطح کلاس به APIهای داخلی JDK را پیدا می‌کند\&. به‌طور پیش‌فرض، تمام کلاس‌های مشخص‌شده در گزینه \f3-classpath\fR و فایل‌های ورودی را تحلیل می‌کند مگر اینکه گزینه \f3-include\fR را مشخص کرده باشید\&. نمی‌توانید از این گزینه همراه با گزینه‌های \f3-p\fR، \f3-e\fR و \f3-s\fR استفاده کنید\&. \fIهشدار\fR: ممکن است APIهای داخلی JDK در نسخه‌های بعدی در دسترس نباشند\&. .TP -P, -profile .br پروفایل یا فایل حاوی یک بسته را نمایش می‌دهد\&. .TP -apionly .br تحلیل را به APIها محدود می‌کند؛ به عنوان مثال، وابستگی‌های ناشی از امضای اعضای \f3public\fR و \f3protected\fR کلاس‌های عمومی، شامل نوع فیلد، انواع پارامترهای متد، نوع بازگشتی و انواع استثناهای بررسی‌شده (checked exceptions)\&. .TP -R, -recursive .br تمام وابستگی‌ها را به‌صورت بازگشتی پیمایش می‌کند\&. .TP -version .br اطلاعات نسخه را چاپ می‌کند\&. .TP -h, -?, -help .br پیام راهنمای \f3jdeps\fR را چاپ می‌کند\&. .SH "مثال‌ها (EXAMPLES)" تحلیل وابستگی‌های 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 استفاده از گزینه \-P یا \-profile برای نمایش اینکه Notepad به کدام پروفایل وابسته است\&. .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 تحلیل وابستگی‌های مستقیم یک کلاس خاص در یک مسیر کلاس مشخص، به عنوان مثال کلاس \f3com\&.sun\&.tools\&.jdeps\&.Main\fR در فایل tools\&.jar\&. .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 استفاده از گزینه \f3-verbose:class\fR برای یافتن وابستگی‌ها در سطح کلاس، یا استفاده از گزینه \f3-v\fR یا \f3-verbose\fR برای شامل کردن وابستگی‌های درون همان فایل JAR\&. .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 استفاده از گزینه \f3-R\fR یا \f3-recursive\fR برای تحلیل وابستگی‌های متعدی کلاس \f3com\&.sun\&.tools\&.jdeps\&.Main\fR\&. .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 تولید فایل‌های dot از وابستگی‌های نسخه نمایشی Notepad\&. .sp .nf \f3$ jdeps \-dotoutput dot demo/jfc/Notepad/Notepad\&.jar\fP .fi .nf \f3\fP .fi .sp دستور \f3jdeps\fR برای هر فایل JAR داده‌شده یک فایل dot با نام <\fIfilename\fR>\&.dot در دایرکتوری dot مشخص‌شده در گزینه \f3-dotoutput\fR ایجاد می‌کند، و همچنین یک فایل خلاصه با نام summary\&.dot ایجاد خواهد کرد که وابستگی‌های میان فایل‌های JAR را فهرست می‌کند\&. .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