'\" 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 \- تحلیل‌گر وابستگی‌های کلاس جاوا\&. .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 وابستگی‌ها را در بسته‌هایی که با الگوی عبارت باقاعدهٔ مشخص‌شده مطابقت دارند، پیدا می‌کند\&. گزینه‌های \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 exception)\&. .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 برای نمایش پروفایلی که Notepad به آن وابسته است، از گزینه \-P یا \-profile استفاده کنید\&. .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 تحلیل وابستگی‌های مستقیم یک کلاس مشخص در یک classpath معین؛ برای نمونه کلاس \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