| jdeps(1) | Basic Tools | jdeps(1) |
نام (NAME)
jdeps-openjdk11 - تحلیلگر وابستگیهای کلاس جاوا
خلاصه دستور (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>
-
وابستگیها را در بستههایی که با الگوی عبارت باقاعده (regex) مشخصشده مطابقت دارند پیدا میکند. گزینههای -p و -e مانعةالجمع هستند. - -include <regex>
-
تحلیل را به کلاسهایی که با الگو مطابقت دارند محدود میکند. این گزینه فهرست کلاسهای مورد تحلیل را فیلتر میکند. این گزینه را میتوان همراه با -p و -e که الگو را روی وابستگیها اعمال میکنند به کار برد. - -jdkinternals
-
وابستگیهای در سطح کلاس به APIهای داخلی JDK را پیدا میکند. بهطور پیشفرض، تمام کلاسهای مشخصشده در گزینه -classpath و فایلهای ورودی را تحلیل میکند مگر اینکه گزینه -include را مشخص کرده باشید. نمیتوانید از این گزینه همراه با گزینههای -p، -e و -s استفاده کنید.هشدار: ممکن است APIهای داخلی JDK در نسخههای بعدی در دسترس نباشند.
- -P, -profile
-
پروفایل یا فایل حاوی یک بسته را نمایش میدهد. - -apionly
-
تحلیل را به APIها محدود میکند؛ به عنوان مثال، وابستگیهای ناشی از امضای اعضای public و protected کلاسهای عمومی، شامل نوع فیلد، انواع پارامترهای متد، نوع بازگشتی و انواع استثناهای بررسیشده (checked exceptions). - -R, -recursive
-
تمام وابستگیها را بهصورت بازگشتی پیمایش میکند. - -version
-
اطلاعات نسخه را چاپ میکند. - -h, -?, -help
-
پیام راهنمای jdeps را چاپ میکند.
مثالها (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
استفاده از گزینه -P یا -profile برای نمایش اینکه Notepad به کدام پروفایل وابسته است.
$ 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
تحلیل وابستگیهای مستقیم یک کلاس خاص در یک مسیر کلاس مشخص، به عنوان مثال کلاس 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 |