| jdeps(1) | Basic Tools | jdeps(1) |
نام (NAME)
jdeps - تحلیلگر وابستگیهای کلاس جاوا.
خلاصه دستور (SYNOPSIS)
jdeps [options] classes ...
توضیحات (DESCRIPTION)
دستور jdeps وابستگیهای در سطح بسته یا سطح کلاسِ فایلهای کلاس جاوا را نمایش میدهد. کلاس ورودی میتواند نام مسیر به یک فایل .class، یک دایرکتوری، یک فایل JAR، یا نام کامل کلاس (fully qualified class name) برای تحلیل همهٔ فایلهای کلاس باشد. گزینهها خروجی را تعیین میکنند. بهطور پیشفرض، jdeps وابستگیها را به خروجی سیستم ارسال میکند. همچنین میتواند وابستگیها را به زبان DOT تولید کند (گزینهٔ -dotoutput را ببینید).
گزینهها (OPTIONS)
- -dotoutput <dir>
-
دایرکتوری مقصد برای خروجی فایل DOT. در صورت مشخص شدن، jdeps به ازای هر آرشیو تحلیلشده یک فایل dot به نام <archive-file-name>.dot حاوی فهرست وابستگیها، و همچنین یک فایل خلاصه به نام summary.dot حاوی فهرست وابستگیهای بین آرشیوها تولید میکند. - -s, -summary
-
تنها خلاصهٔ وابستگیها را چاپ میکند. - -v, -verbose
-
تمام وابستگیهای در سطح کلاس را چاپ میکند. - -verbose:package
-
وابستگیهای در سطح بسته را بدون احتساب وابستگیهای درون همان آرشیو چاپ میکند. - -verbose:class
-
وابستگیهای در سطح کلاس را بدون احتساب وابستگیهای درون همان آرشیو چاپ میکند. - -cp <path>, -classpath <path>
-
محل جستجوی فایلهای کلاس را مشخص میکند.همچنین بخش تنظیم مسیر کلاس (Setting the Class Path) را ببینید.
- -p <pkg name>, -package <pkg name>
-
وابستگیها را در بستهٔ مشخصشده پیدا میکند. میتوانید این گزینه را چندین بار برای بستههای مختلف مشخص کنید. گزینههای -p و -e مانعةالجمع هستند. - -e <regex>, -regex <regex>
-
وابستگیها را در بستههایی که با الگوی عبارت باقاعدهٔ مشخصشده مطابقت دارند، پیدا میکند. گزینههای -p و -e مانعةالجمع هستند. - -include <regex>
-
تحلیل را به کلاسهای منطبق با الگو محدود میکند. این گزینه فهرست کلاسهای مورد تحلیل را فیلتر میکند. میتوان آن را همراه با -p و -e که الگو را روی وابستگیها اعمال میکنند، به کار برد. - -jdkinternals
-
وابستگیهای در سطح کلاس را در APIهای داخلی JDK پیدا میکند. بهطور پیشفرض، تمام کلاسهای مشخصشده در گزینهٔ -classpath و فایلهای ورودی را تحلیل میکند، مگر اینکه گزینهٔ -include را مشخص کرده باشید. نمیتوانید از این گزینه همراه با گزینههای -p، -e و -s استفاده کنید.هشدار: ممکن است APIهای داخلی JDK در انتشارهای آینده در دسترس نباشند.
- -P, -profile
-
پروفایل یا فایل حاوی یک بسته را نشان میدهد. - -apionly
-
تحلیل را به APIها محدود میکند؛ برای مثال، وابستگیهای ناشی از امضای اعضای public و protected کلاسهای عمومی شامل نوع فیلد، انواع پارامترهای متد، نوع بازگشتی و انواع استثناهای بررسیشده (checked exception). - -R, -recursive
-
تمام وابستگیها را بهطور بازگشتی پیمایش میکند. - -version
-
اطلاعات نسخه را چاپ میکند. - -h, -?, -help
-
پیام راهنمای jdeps را چاپ میکند..SH "مثالها (EXAMPLES)" تحلیل وابستگیهای Notepad.jar.$ jdeps demo/jfc/Notepad/Notepad.jar
demo/jfc/Notepad/Notepad.jar -> /usr/java/jre/lib/rt.jar
<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
برای نمایش پروفایلی که Notepad به آن وابسته است، از گزینه -P یا -profile استفاده کنید.
$ jdeps -profile demo/jfc/Notepad/Notepad.jar
demo/jfc/Notepad/Notepad.jar -> /usr/java/jre/lib/rt.jar (Full JRE)
<unnamed> (Notepad.jar)
-> java.awt Full JRE
-> java.awt.event Full JRE
-> java.beans Full JRE
-> java.io compact1
-> java.lang compact1
-> java.net compact1
-> java.util compact1
-> java.util.logging compact1
-> javax.swing Full JRE
-> javax.swing.border Full JRE
-> javax.swing.event Full JRE
-> javax.swing.text Full JRE
-> javax.swing.tree Full JRE
-> javax.swing.undo Full JRE
تحلیل وابستگیهای مستقیم یک کلاس مشخص در یک classpath معین؛ برای نمونه کلاس com.sun.tools.jdeps.Main در فایل tools.jar.
$ jdeps -cp lib/tools.jar com.sun.tools.jdeps.Main
lib/tools.jar -> /usr/java/jre/lib/rt.jar
com.sun.tools.jdeps (tools.jar)
-> java.io
-> java.lang
از گزینه -verbose:class برای یافتن وابستگیها در سطح کلاس، یا از گزینه -v یا -verbose برای گنجاندن وابستگیهای درون همان فایل JAR استفاده کنید.
$ jdeps -verbose:class -cp lib/tools.jar com.sun.tools.jdeps.Main
lib/tools.jar -> /usr/java/jre/lib/rt.jar
com.sun.tools.jdeps.Main (tools.jar)
-> java.io.PrintWriter
-> java.lang.Exception
-> java.lang.Object
-> java.lang.String
-> java.lang.System
از گزینه -R یا -recursive برای تحلیل وابستگیهای ترایای کلاس com.sun.tools.jdeps.Main استفاده کنید.
$ jdeps -R -cp lib/tools.jar com.sun.tools.jdeps.Main
lib/tools.jar -> /usr/java/jre/lib/rt.jar com.sun.tools.classfile (tools.jar)
-> java.io
-> java.lang
-> java.lang.reflect
-> java.nio.charset
-> java.nio.file
-> java.util
-> java.util.regex
com.sun.tools.jdeps (tools.jar)
-> java.io
-> java.lang
-> java.nio.file
-> java.nio.file.attribute
-> java.text
-> java.util
-> java.util.jar
-> java.util.regex
-> java.util.zip
/usr/java/jre/lib/jce.jar -> /usr/java/jre/lib/rt.jar
javax.crypto (jce.jar)
-> java.io
-> java.lang
-> java.lang.reflect
-> java.net
-> java.nio
-> java.security
-> java.security.cert
-> java.security.spec
-> java.util
-> java.util.concurrent
-> java.util.jar
-> java.util.regex
-> java.util.zip
-> javax.security.auth
-> sun.security.jca JDK internal API (rt.jar)
-> sun.security.util JDK internal API (rt.jar)
javax.crypto.spec (jce.jar)
-> java.lang
-> java.security.spec
-> java.util
/usr/java/jre/lib/rt.jar -> /usr/java/jre/lib/jce.jar
java.security (rt.jar)
-> javax.crypto
تولید فایلهای dot از وابستگیهای دموی Notepad.
$ jdeps -dotoutput dot demo/jfc/Notepad/Notepad.jar
jdeps برای هر فایل JAR دادهشده یک فایل dot به نام <filename>.dot در دایرکتوری dot که در گزینهٔ -dotoutput مشخص شده است ایجاد میکند، و همچنین یک فایل خلاصه به نام summary.dot که وابستگیهای میان فایلهای JAR را فهرست خواهد کرد.
$ cat dot/Notepad.jar.dot
digraph "Notepad.jar" {// Path: demo/jfc/Notepad/Notepad.jar
"<unnamed>" -> "java.awt";
"<unnamed>" -> "java.awt.event";
"<unnamed>" -> "java.beans";
"<unnamed>" -> "java.io";
"<unnamed>" -> "java.lang";
"<unnamed>" -> "java.net";
"<unnamed>" -> "java.util";
"<unnamed>" -> "java.util.logging";
"<unnamed>" -> "javax.swing"; "<unnamed>" -> "javax.swing.border";
"<unnamed>" -> "javax.swing.event";
"<unnamed>" -> "javax.swing.text";
"<unnamed>" -> "javax.swing.tree";
"<unnamed>" -> "javax.swing.undo";
}
$ cat dot/summary.dot
digraph "summary" {"Notepad.jar" -> "rt.jar";
}
همچنین ببینید (SEE ALSO)
- •
- javap(1)
| 21 November 2013 | JDK 8 |