.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JDEPS" "1" "2026" "JDK 26.0.2.1" "JDK Commands" .SH "نام (NAME)" jdeps \- تحلیل‌گر وابستگی‌های کلاس و بسته‌های جاوا (نسخه ۲۶) .SH "خلاصه دستور (SYNOPSIS)" \f[CR]jdeps\f[R] [\f[I]گزینه‌ها\f[R]] \f[I]مسیر\f[R] ... .TP \f[I]گزینه‌ها\f[R] گزینه‌های خط فرمان. برای توضیحات دقیق گزینه‌های قابل استفاده، ببینید: .RS .IP \(bu 2 \f[B]گزینه‌های ممکن\f[R] .IP \(bu 2 \f[B]گزینه‌های تحلیل وابستگی ماژول\f[R] .IP \(bu 2 \f[B]گزینه‌های پالایش وابستگی‌ها\f[R] .IP \(bu 2 \f[B]گزینه‌های پالایش کلاس‌های مورد تحلیل\f[R] .RE .TP \f[I]مسیر\f[R] مسیر فایل \f[CR].class\f[R]، دایرکتوری یا فایل JAR برای تحلیل. .SH "توضیحات (DESCRIPTION)" دستور \f[CR]jdeps\f[R] وابستگی‌های در سطح بسته یا سطح کلاس فایل‌های کلاس جاوا را نمایش می‌دهد. کلاس ورودی می‌تواند نام مسیر به یک فایل \f[CR].class\f[R]، یک دایرکتوری، یک فایل JAR یا یک نام کلاس واجد شرایط کامل (FQCN) برای تحلیل تمام فایل‌های کلاس باشد. گزینه‌ها نوع خروجی را مشخص می‌کنند. به‌طور پیش‌فرض، دستور \f[CR]jdeps\f[R] وابستگی‌ها را در خروجی استاندارد سیستم می‌نویسد. این دستور می‌تواند وابستگی‌ها را به زبان DOT تولید کند (گزینه \f[CR]\-dotoutput\f[R] را ببینید). .SH "گزینه‌های ممکن (POSSIBLE OPTIONS)" .TP \f[CR]\-?\f[R] یا \f[CR]\-h\f[R] یا \f[CR]\-\-help\f[R] پیام راهنما را چاپ می‌کند. .TP \f[CR]\-dotoutput\f[R] \f[I]dir\f[R] یا \f[CR]\-\-dot\-output\f[R] \f[I]dir\f[R] دایرکتوری مقصد را برای خروجی فایل DOT مشخص می‌کند. اگر این گزینه مشخص شود، دستور \f[CR]jdeps\f[R] برای هر آرشیو تحلیل‌شده یک فایل \f[CR].dot\f[R] با نام \f[CR]archive\-file\-name.dot\f[R] که فهرست وابستگی‌ها در آن قرار دارد تولید می‌کند، و همچنین یک فایل خلاصه با نام \f[CR]summary.dot\f[R] که وابستگی‌های میان فایل‌های آرشیو را فهرست می‌کند. .TP \f[CR]\-s\f[R] یا \f[CR]\-summary\f[R] فقط خلاصه وابستگی‌ها را چاپ می‌کند. .TP \f[CR]\-v\f[R] یا \f[CR]\-verbose\f[R] تمام وابستگی‌های سطح کلاس را چاپ می‌کند. این گزینه معادل است با: .RS .RS .PP \f[CR]\-verbose:class \-filter:none\f[R] .RE .RE .TP \f[CR]\-verbose:package\f[R] وابستگی‌های سطح بسته را چاپ می‌کند، به‌طور پیش‌فرض وابستگی‌های درون همان بسته حذف می‌شوند. .TP \f[CR]\-verbose:class\f[R] وابستگی‌های سطح کلاس را چاپ می‌کند، به‌طور پیش‌فرض وابستگی‌های درون همان آرشیو حذف می‌شوند. .TP \f[CR]\-apionly\f[R] یا \f[CR]\-\-api\-only\f[R] تحلیل را به APIها محدود می‌کند؛ برای مثال، وابستگی‌های ناشی از امضای اعضای \f[CR]public\f[R] و \f[CR]protected\f[R] کلاس‌های عمومی از جمله نوع فیلد، انواع پارامترهای متد، نوع بازگشتی و انواع استثناهای بررسی‌شده (checked exceptions). .TP \f[CR]\-jdkinternals\f[R] یا \f[CR]\-\-jdk\-internals\f[R] وابستگی‌های سطح کلاس را در APIهای داخلی JDK پیدا می‌کند. به‌طور پیش‌فرض، این گزینه تمام کلاس‌های مشخص‌شده در گزینه \f[CR]\-\-classpath\f[R] و فایل‌های ورودی را تحلیل می‌کند، مگر اینکه گزینه \f[CR]\-include\f[R] مشخص شده باشد. نمی‌توانید از این گزینه همراه با گزینه‌های \f[CR]\-p\f[R]، \f[CR]\-e\f[R] و \f[CR]\-s\f[R] استفاده کنید. .RS \f[B]هشدار\f[R]: APIهای داخلی JDK غیرقابل دسترس هستند. .RE .TP \f[CR]\-cp\f[R] \f[I]path\f[R]، \f[CR]\-classpath\f[R] \f[I]path\f[R]، یا \f[CR]\-\-class\-path\f[R] \f[I]path\f[R] محل جستجوی فایل‌های کلاس را مشخص می‌کند. .TP \f[CR]\-\-module\-path\f[R] \f[I]module\-path\f[R] مسیر ماژول را مشخص می‌کند. .TP \f[CR]\-\-upgrade\-module\-path\f[R] \f[I]module\-path\f[R] مسیر ارتقای ماژول را مشخص می‌کند. .TP \f[CR]\-\-system\f[R] \f[I]java\-home\f[R] یک مسیر ماژول سیستمی جایگزین را مشخص می‌کند. .TP \f[CR]\-\-add\-modules\f[R] \f[I]module\-name\f[R][\f[CR],\f[R] \f[I]module\-name\f[R]...] ماژول‌ها را برای تحلیل به مجموعه ریشه (root set) اضافه می‌کند. .TP \f[CR]\-\-multi\-release\f[R] \f[I]version\f[R] نسخه را هنگام پردازش فایل‌های JAR چندنسخه‌ای (multi-release) مشخص می‌کند. \f[I]version\f[R] باید یک عدد صحیح ۹ یا بزرگتر از ۹ یا base باشد. .TP \f[CR]\-q\f[R] یا \f[CR]\-quiet\f[R] وابستگی‌های مفقود را در خروجی \f[CR]\-generate\-module\-info\f[R] نمایش نمی‌دهد. .TP \f[CR]\-version\f[R] یا \f[CR]\-\-version\f[R] اطلاعات نسخه را چاپ می‌کند. .SH "گزینه‌های تحلیل وابستگی ماژول (MODULE DEPENDENCE ANALYSIS OPTIONS)" .TP \f[CR]\-m\f[R] \f[I]module\-name\f[R] یا \f[CR]\-\-module\f[R] \f[I]module\-name\f[R] ماژول ریشه را برای تحلیل مشخص می‌کند. .TP \f[CR]\-\-generate\-module\-info\f[R] \f[I]dir\f[R] فایل \f[CR]module\-info.java\f[R] را در دایرکتوری مشخص‌شده تولید می‌کند. فایل‌های JAR مشخص‌شده تحلیل خواهند شد. این گزینه نمی‌تواند همراه با گزینه‌های \f[CR]\-\-dot\-output\f[R] یا \f[CR]\-\-class\-path\f[R] استفاده شود. برای ماژول‌های باز از گزینه \f[CR]\-\-generate\-open\-module\f[R] استفاده کنید. .TP \f[CR]\-\-generate\-open\-module\f[R] \f[I]dir\f[R] فایل \f[CR]module\-info.java\f[R] را برای فایل‌های JAR مشخص‌شده تحت دایرکتوری مشخص‌شده به‌عنوان ماژول‌های باز تولید می‌کند. این گزینه نمی‌تواند همراه با گزینه‌های \f[CR]\-\-dot\-output\f[R] یا \f[CR]\-\-class\-path\f[R] استفاده شود. .TP \f[CR]\-\-check\f[R] \f[I]module\-name\f[R] [\f[CR],\f[R] \f[I]module\-name\f[R]...] وابستگی ماژول‌های مشخص‌شده را تحلیل می‌کند. این گزینه توصیف‌گر ماژول، وابستگی‌های ماژول حاصل پس از تحلیل و گراف را پس از کاهش انتقالی (transition reduction) چاپ می‌کند. همچنین هرگونه صادرات واجد شرایط استفاده‌نشده (unused qualified exports) را شناسایی می‌کند. .TP \f[CR]\-\-list\-deps\f[R] وابستگی‌های ماژول و همچنین نام بسته‌های APIهای داخلی JDK (در صورت ارجاع) را فهرست می‌کند. این گزینه کتابخانه‌های موجود در مسیر کلاس و مسیر ماژول را در صورت ارجاع به‌صورت انتقالی (transitively) تحلیل می‌کند. برای تحلیل وابستگی‌های غیرانتقالی از گزینه \f[CR]\-\-no\-recursive\f[R] استفاده کنید. .TP \f[CR]\-\-list\-reduced\-deps\f[R] مشابه \f[CR]\-\-list\-deps\f[R] است بدون فهرست کردن یال‌های خواندن ضمنی (implied reads) از گراف ماژول. اگر ماژول M1 ماژول M2 را بخواند و M2 نیاز انتقالی به M3 داشته باشد، خواندن M3 توسط M1 ضمنی است و در گراف نمایش داده نمی‌شود. .TP \f[CR]\-\-print\-module\-deps\f[R] مشابه \f[CR]\-\-list\-reduced\-deps\f[R] با چاپ یک فهرست جداشده با کاما از وابستگی‌های ماژول. خروجی می‌تواند توسط \f[CR]jlink \-\-add\-modules\f[R] برای ایجاد یک ایمیج سفارشی حاوی آن ماژول‌ها و وابستگی‌های انتقالی آن‌ها استفاده شود. .TP \f[CR]\-\-ignore\-missing\-deps\f[R] وابستگی‌های مفقود را نادیده می‌گیرد. .SH "گزینه‌های پالایش وابستگی‌ها (OPTIONS TO FILTER DEPENDENCES)" .TP \f[CR]\-p\f[R] \f[I]pkg_name\f[R]، \f[CR]\-package\f[R] \f[I]pkg_name\f[R]، یا \f[CR]\-\-package\f[R] \f[I]pkg_name\f[R] وابستگی‌های منطبق با نام بسته مشخص‌شده را پیدا می‌کند. می‌توانید این گزینه را چندین بار برای بسته‌های مختلف مشخص کنید. گزینه‌های \f[CR]\-p\f[R] و \f[CR]\-e\f[R] مانعة‌الجمع هستند. .TP \f[CR]\-e\f[R] \f[I]regex\f[R]، \f[CR]\-regex\f[R] \f[I]regex\f[R]، یا \f[CR]\-\-regex\f[R] \f[I]regex\f[R] وابستگی‌های منطبق با الگوی مشخص‌شده را پیدا می‌کند. گزینه‌های \f[CR]\-p\f[R] و \f[CR]\-e\f[R] مانعة‌الجمع هستند. .TP \f[CR]\-\-require\f[R] \f[I]module\-name\f[R] وابستگی‌های منطبق با نام ماژول داده‌شده را پیدا می‌کند (می‌تواند چندین بار داده شود). گزینه‌های \f[CR]\-\-package\f[R]، \f[CR]\-\-regex\f[R] و \f[CR]\-\-require\f[R] مانعة‌الجمع هستند. .TP \f[CR]\-f\f[R] \f[I]regex\f[R] یا \f[CR]\-filter\f[R] \f[I]regex\f[R] وابستگی‌های منطبق با الگوی داده‌شده را پالایش می‌کند. اگر چندین بار داده شود، آخرین مورد انتخاب خواهد شد. .TP \f[CR]\-filter:package\f[R] وابستگی‌های درون همان بسته را پالایش (حذف) می‌کند. این مقدار پیش‌فرض است. .TP \f[CR]\-filter:archive\f[R] وابستگی‌های درون همان آرشیو را پالایش (حذف) می‌کند. .TP \f[CR]\-filter:module\f[R] وابستگی‌های درون همان ماژول را پالایش (حذف) می‌کند. .TP \f[CR]\-filter:none\f[R] بدون پالایش \f[CR]\-filter:package\f[R] و \f[CR]\-filter:archive\f[R]. پالایش مشخص‌شده از طریق گزینه \f[CR]\-filter\f[R] همچنان اعمال می‌شود. .TP \f[CR]\-\-missing\-deps\f[R] وابستگی‌های مفقود را پیدا می‌کند. این گزینه نمی‌تواند همراه با گزینه‌های \f[CR]\-p\f[R]، \f[CR]\-e\f[R] و \f[CR]\-s\f[R] استفاده شود. .SH "گزینه‌های پالایش کلاس‌های مورد تحلیل (OPTIONS TO FILTER CLASSES TO BE ANALYZED)" .TP \f[CR]\-include\f[R] \f[I]regex\f[R] تحلیل را به کلاس‌های منطبق با الگو محدود می‌کند. این گزینه فهرست کلاس‌های مورد تحلیل را پالایش می‌کند. می‌تواند همراه با \f[CR]\-p\f[R] و \f[CR]\-e\f[R] استفاده شود که الگو را روی وابستگی‌ها اعمال می‌کنند. .TP \f[CR]\-R\f[R] یا \f[CR]\-\-recursive\f[R] تمام وابستگی‌های زمان اجرا را به‌طور بازگشتی پیمایش می‌کند. گزینه \f[CR]\-R\f[R] متضمن \f[CR]\-filter:none\f[R] است. اگر گزینه‌های \f[CR]\-p\f[R]، \f[CR]\-e\f[R] یا \f[CR]\-f\f[R] مشخص شوند، فقط وابستگی‌های منطبق تحلیل می‌شوند. .TP \f[CR]\-\-no\-recursive\f[R] وابستگی‌ها را به‌طور بازگشتی پیمایش نمی‌کند. .TP \f[CR]\-I\f[R] یا \f[CR]\-\-inverse\f[R] وابستگی‌ها را بر اساس سایر گزینه‌های داده‌شده تحلیل می‌کند و سپس تمام مصنوعاتی (artifacts) را که به‌طور مستقیم و غیرمستقیم به گره‌های منطبق وابسته هستند پیدا می‌کند. این معادل معکوس تحلیل نمای زمان کامپایل و چاپ خلاصه وابستگی است. این گزینه باید همراه با گزینه‌های \f[CR]\-\-require\f[R]، \f[CR]\-\-package\f[R] یا \f[CR]\-\-regex\f[R] استفاده شود. .TP \f[CR]\-\-compile\-time\f[R] نمای زمان کامپایل وابستگی‌های انتقالی را تحلیل می‌کند، مانند نمای زمان کامپایل گزینه \f[CR]\-R\f[R]. وابستگی‌ها را بر اساس سایر گزینه‌های مشخص‌شده تحلیل می‌کند. اگر وابستگی از یک دایرکتوری، یک فایل JAR یا یک ماژول پیدا شود، تمام کلاس‌های موجود در آن آرشیو حاوی تحلیل می‌شوند. .SH "مثال تحلیل وابستگی‌ها (EXAMPLE OF ANALYZING DEPENDENCIES)" مثال زیر تحلیل وابستگی‌های فایل \f[CR]Notepad.jar\f[R] را نشان می‌دهد. .PP \f[B]لینوکس و macOS:\f[R] .IP .EX $ jdeps demo/jfc/Notepad/Notepad.jar Notepad.jar \-> java.base Notepad.jar \-> java.desktop Notepad.jar \-> java.logging (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 .EE .PP \f[B]ویندوز:\f[R] .IP .EX C:\(rsJava\(rsjdk1.9.0>jdeps demo\(rsjfc\(rsNotepad\(rsNotepad.jar Notepad.jar \-> java.base Notepad.jar \-> java.desktop Notepad.jar \-> java.logging (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 .EE .SH "مثال استفاده از گزینه \-\-INVERSE (EXAMPLE USING THE \-\-INVERSE OPTION)" .IP .EX $ 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 .EE