.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JLINK" "1" "2026" "JDK 26.0.2.1" "JDK Commands" .SH "نام (NAME)" jlink \- سرهم‌بندی و بهینه‌سازی مجموعه‌ای از ماژول‌ها و وابستگی‌های آن‌ها در یک ایمیج زمان اجرای سفارشی .SH "خلاصه دستور (SYNOPSIS)" \f[CR]jlink\f[R] [\f[I]options\f[R]] \f[CR]\-\-module\-path\f[R] \f[I]modulepath\f[R] \f[CR]\-\-add\-modules\f[R] \f[I]module\f[R][,\f[I]module\f[R]...] .TP \f[I]options\f[R] گزینه‌های خط فرمان که با فاصله از هم جدا شده‌اند. بخش \f[B]گزینه‌های jlink\f[R] را ببینید. .TP \f[I]modulepath\f[R] مسیری که ابزار \f[CR]jlink\f[R] ماژول‌های قابل مشاهده را در آن شناسایی می‌کند. این ماژول‌ها می‌توانند فایل‌های ماژولار JAR، فایل‌های JMOD یا ماژول‌های بازشده (exploded modules) باشند. .TP \f[I]module\f[R] نام ماژول‌هایی که باید به ایمیج زمان اجرا افزوده شوند. ابزار \f[CR]jlink\f[R] این ماژول‌ها و وابستگی‌های متعدی آن‌ها را اضافه می‌کند. .SH "توضیحات (DESCRIPTION)" ابزار \f[CR]jlink\f[R] مجموعه‌ای از ماژول‌ها را به همراه وابستگی‌های متعدی آن‌ها پیوند می‌دهد تا یک ایمیج زمان اجرای سفارشی ایجاد کند. .PP \f[B]نکته:\f[R] .PP توسعه‌دهندگان خود مسئول به‌روزرسانی ایمیج‌های زمان اجرای سفارشی‌شان هستند. .SH "گزینه‌های JLINK (JLINK OPTIONS)" .TP \f[CR]\-\-add\-modules\f[R] \f[I]mod\f[R][\f[CR],\f[R]\f[I]mod\f[R]...] ماژول‌های نام‌برده، \f[I]mod\f[R]، را به مجموعه پیش‌فرض ماژول‌های ریشه اضافه می‌کند. مجموعه پیش‌فرض ماژول‌های ریشه خالی است. .TP \f[CR]\-\-bind\-services\f[R] پیوند دادن ماژول‌های ارائه‌دهنده سرویس و وابستگی‌های آن‌ها. .TP \f[CR]\-c zip\-{0\-9}\f[R] یا \f[CR]\-\-compress=zip\-{0\-9}\f[R] فشرده‌سازی منابع را فعال می‌کند. مقادیر پذیرفته‌شده عبارتند از: zip\-{0\-9}، که در آن zip\-0 بدون فشرده‌سازی و zip\-9 بیشترین فشرده‌سازی را فراهم می‌کند. پیش‌فرض zip\-6 است. .RS مقادیر منسوخ‌شده که در نسخه‌های بعدی حذف خواهند شد: .IP \(bu 2 \f[CR]0\f[R]: بدون فشرده‌سازی. به جای آن از zip\-0 استفاده کنید. .IP \(bu 2 \f[CR]1\f[R]: اشتراک‌گذاری رشته‌های ثابت (Constant string sharing). .IP \(bu 2 \f[CR]2\f[R]: ZIP. به جای آن از zip\-6 استفاده کنید. .RE .TP \f[CR]\-\-disable\-plugin\f[R] \f[I]pluginname\f[R] پلاگین مشخص‌شده را غیرفعال می‌کند. برای مشاهده فهرست پلاگین‌های پشتیبانی‌شده، بخش \f[B]پلاگین‌های jlink\f[R] را ببینید. .TP \f[CR]\-\-endian\f[R] {\f[CR]little\f[R]|\f[CR]big\f[R]} ترتیب بایت‌ها (Endianness) را برای ایمیج ایجادشده تعیین می‌کند. مقدار پیش‌فرض، ساختار معماری سیستم شماست. .TP \f[CR]\-h\f[R] یا \f[CR]\-\-help\f[R] پیام راهنما را نمایش می‌دهد. .TP \f[CR]\-\-ignore\-signing\-information\f[R] از بروز خطای مهلک هنگام پیوند دادن JARهای ماژولار امضاشده در ایمیج زمان اجرا جلوگیری می‌کند. فایل‌های مرتبط با امضا در JARهای ماژولار امضاشده به ایمیج زمان اجرا کپی نمی‌شوند. .TP \f[CR]\-\-launcher\f[R] \f[I]command\f[R]\f[CR]=\f[R]\f[I]module\f[R] یا \f[CR]\-\-launcher\f[R] \f[I]command\f[R]\f[CR]=\f[R]\f[I]module\f[R]\f[CR]/\f[R]\f[I]main\f[R] نام دستور اجراکننده (launcher) را برای ماژول، یا نام دستور را برای ماژول و کلاس اصلی مشخص می‌کند (نام ماژول و کلاس اصلی با یک اسلش (\f[CR]/\f[R]) جدا می‌شوند). .TP \f[CR]\-\-limit\-modules\f[R] \f[I]mod\f[R][\f[CR],\f[R]\f[I]mod\f[R]...] محدوده ماژول‌های قابل مشاهده را به موارد موجود در بستار متعدی (transitive closure) ماژول‌های نام‌برده، \f[CR]mod\f[R]، به‌علاوه ماژول اصلی (در صورت وجود)، به‌علاوه هر ماژول دیگری که در گزینه \f[CR]\-\-add\-modules\f[R] مشخص شده است، محدود می‌کند. .TP \f[CR]\-\-list\-plugins\f[R] پلاگین‌های موجود را که می‌توانید از طریق گزینه‌های خط فرمان به آن‌ها دسترسی داشته باشید، فهرست می‌کند؛ بخش \f[B]پلاگین‌های jlink\f[R] را ببینید. .TP \f[CR]\-p\f[R] یا \f[CR]\-\-module\-path\f[R] \f[I]modulepath\f[R] مسیر ماژول را مشخص می‌کند. .RS اگر این گزینه مشخص نشود، مسیر ماژول پیش‌فرض \f[CR]$JAVA_HOME/jmods\f[R] خواهد بود. این پوشه حاوی ماژول \f[CR]java.base\f[R] و سایر ماژول‌های استاندارد و JDK است. اگر این گزینه مشخص شود اما ماژول \f[CR]java.base\f[R] از طریق آن قابل تحلیل و یافتن نباشد، دستور \f[CR]jlink\f[R] مسیر \f[CR]$JAVA_HOME/jmods\f[R] را به انتهای مسیر ماژول ضمیمه می‌کند. .RE .TP \f[CR]\-\-no\-header\-files\f[R] فایل‌های سرآیند (header files) را مستثنی می‌کند. .TP \f[CR]\-\-no\-man\-pages\f[R] صفحات راهنما (man pages) را مستثنی می‌کند. .TP \f[CR]\-\-output\f[R] \f[I]path\f[R] محل ذخیره ایمیج زمان اجرای تولیدشده را تعیین می‌کند. .TP \f[CR]\-\-save\-opts\f[R] \f[I]filename\f[R] گزینه‌های \f[CR]jlink\f[R] را در فایل مشخص‌شده ذخیره می‌کند. .TP \f[CR]\-\-suggest\-providers\f[R] [\f[I]name\f[R]\f[CR],\f[R] ...] ارائه‌دهندگانی را از مسیر ماژول پیشنهاد می‌کند که انواع سرویس داده‌شده را پیاده‌سازی کرده باشند. .TP \f[CR]\-\-version\f[R] اطلاعات نسخه را چاپ می‌کند. .TP \f[CR]\(at\f[R]\f[I]filename\f[R] گزینه‌ها را از فایل مشخص‌شده می‌خواند. .RS یک فایل گزینه‌ها، فایلی متنی است که حاوی گزینه‌ها و مقادیری است که معمولاً در خط فرمان وارد می‌کنید. گزینه‌ها ممکن است در یک خط یا در چندین خط قرار گیرند. نمی‌توانید برای نام مسیرها از متغیرهای محیطی استفاده کنید. می‌توانید با درج علامت هش (\f[CR]#\f[R]) در ابتدای خط، آن را تبدیل به توضیح (comment) کنید. در ادامه نمونه‌ای از یک فایل گزینه‌ها برای دستور \f[CR]jlink\f[R] آمده است: .IP .EX #Wed Dec 07 00:40:19 EST 2016 \-\-module\-path mlib \-\-add\-modules com.greetings \-\-output greetingsapp .EE .RE.SH "پلاگین‌های JLINK (JLINK PLUG\-INS)" \f[B]نکته:\f[R] .PP پلاگین‌هایی که در این بخش فهرست نشده‌اند پشتیبانی نمی‌شوند و ممکن است تغییر کنند. .PP برای گزینه‌های پلاگینی که به یک \f[I]pattern\-list\f[R] نیاز دارند، مقدار ورودی فهرستی از عناصر است که با کاما از یکدیگر جدا شده‌اند و هر عنصر از یکی از قالب‌های زیر پیروی می‌کند: .IP \(bu 2 \f[I]glob\-pattern\f[R] .IP \(bu 2 \f[CR]glob:\f[R]\f[I]glob\-pattern\f[R] .IP \(bu 2 \f[CR]regex:\f[R]\f[I]regex\-pattern\f[R] .IP \(bu 2 \f[CR]\(at\f[R]\f[I]filename\f[R] .RS 2 .IP \(bu 2 \f[I]filename\f[R] نام فایلی است که الگوهای مورد استفاده را در بر دارد؛ در هر خط یک الگو. .RE .PP برای مشاهده فهرست کامل تمام پلاگین‌های موجود، دستور \f[CR]jlink \-\-list\-plugins\f[R] را اجرا کنید. .SS پلاگین \f[CR]compress\f[R] .TP گزینه‌ها \f[CR]\-\-compress=zip\-\f[R]{\f[CR]0\f[R]\-\f[CR]9\f[R]}[\f[CR]:filter=\f[R]\f[I]pattern\-list\f[R]] .TP توضیحات تمام منابع موجود در ایمیج خروجی را فشرده می‌کند. مقادیر مجاز عبارتند از: zip\-{0\-9}، که در آن zip\-0 فاقد فشرده‌سازی بوده و zip\-9 بهترین فشرده‌سازی را ارائه می‌دهد. پیش‌فرض zip\-6 است. .RS مقادیر منسوخ‌شده‌ای که در انتشار‌های آینده حذف خواهند شد: .IP \(bu 2 سطح 0: بدون فشرده‌سازی. به‌جای آن از zip\-0 استفاده کنید. .IP \(bu 2 سطح 1: اشتراک‌گذاری رشته‌های ثابت (Constant string sharing) .IP \(bu 2 سطح 2: ZIP. به‌جای آن از zip\-6 استفاده کنید. یک فیلتر اختیاری \f[I]pattern\-list\f[R] می‌تواند برای مشخص کردن الگوی فایل‌های مشمول مشخص شود. .RE .SS پلاگین \f[CR]include\-locales\f[R] .TP گزینه‌ها \f[CR]\-\-include\-locales=\f[R]\f[I]langtag\f[R][\f[CR],\f[R]\f[I]langtag\f[R]]* .TP توضیحات فهرستی از لوکال‌ها را شامل می‌شود که در آن \f[I]langtag\f[R] یک برچسب زبان BCP 47 است. این گزینه از تطبیق لوکال به صورتی که در RFC 4647 تعریف شده پشتیبانی می‌کند. اطمینان حاصل کنید که هنگام استفاده از این گزینه، ماژول jdk.localedata را اضافه کرده باشید. .RS مثال: .RS .PP \f[CR]\-\-add\-modules jdk.localedata \-\-include\-locales=en,ja,*\-IN\f[R] .RE .RE .SS پلاگین \f[CR]order\-resources\f[R] .TP گزینه‌ها \f[CR]\-\-order\-resources=\f[R]\f[I]pattern\-list\f[R] .TP توضیحات مسیرهای مشخص‌شده را بر اساس اولویت مرتب می‌کند. اگر \f[CR]\(at\f[R]\f[I]filename\f[R] مشخص شده باشد، آنگاه هر خط در \f[I]pattern\-list\f[R] باید تطابق دقیقی برای مسیرهای مرتب‌شونده داشته باشد. .RS مثال: .RS .PP \f[CR]\-\-order\-resources=/module\-info.class,\(atclasslist,/java.base/java/lang/\f[R] .RE .RE.SS پلاگین \f[CR]strip\-debug\f[R] .TP گزینه‌ها \f[CR]\-\-strip\-debug\f[R] .TP توضیحات اطلاعات اشکال‌زدایی (debug) را از ایمیج خروجی حذف می‌کند. .SS پلاگین \f[CR]generate\-cds\-archive\f[R] .TP گزینه‌ها \f[CR]\-\-generate\-cds\-archive\f[R] .TP توضیحات در صورتی که ایمیج زمان اجرا از قابلیت CDS پشتیبانی کند، آرشیو CDS را تولید می‌کند. .SH "مثال‌های JLINK (JLINK EXAMPLES)" دستور زیر یک ایمیج زمان اجرا در دایرکتوری \f[CR]greetingsapp\f[R] ایجاد می‌کند. این دستور ماژول \f[CR]com.greetings\f[R] را که تعریف ماژول آن در دایرکتوری \f[CR]mlib\f[R] قرار دارد، پیوند (link) می‌دهد. .IP .EX jlink \-\-module\-path mlib \-\-add\-modules com.greetings \-\-output greetingsapp .EE .PP دستور زیر ماژول‌های موجود در ایمیج زمان اجرای \f[CR]greetingsapp\f[R] را فهرست می‌کند: .IP .EX greetingsapp/bin/java \-\-list\-modules com.greetings java.base\(at11 java.logging\(at11 org.astro\(at1.0 .EE .PP دستور زیر یک ایمیج زمان اجرا در دایرکتوری compressedrt ایجاد می‌کند که نمادهای اشکال‌زدایی از آن پاک شده‌اند، برای کاهش فضا از فشرده‌سازی استفاده می‌کند و شامل اطلاعات محلی (locale) زبان فرانسوی است: .IP .EX jlink \-\-add\-modules jdk.localedata \-\-strip\-debug \-\-compress=2 \-\-include\-locales=fr \-\-output compressedrt .EE .PP مثال زیر اندازهٔ ایمیج زمان اجرای \f[CR]compressedrt\f[R] را با \f[CR]fr_rt\f[R] مقایسه می‌کند که نمادهای اشکال‌زدایی از آن حذف نشده‌اند و از فشرده‌سازی استفاده نمی‌کند: .IP .EX jlink \-\-add\-modules jdk.localedata \-\-include\-locales=fr \-\-output fr_rt du \-sh ./compressedrt ./fr_rt 23M ./compressedrt 36M ./fr_rt .EE .PP مثال زیر ارائه‌دهندگانی (providers) را که \f[CR]java.security.Provider\f[R] را پیاده‌سازی می‌کنند فهرست می‌کند: .IP .EX jlink \-\-suggest\-providers java.security.Provider Suggested providers: java.naming provides java.security.Provider used by java.base java.security.jgss provides java.security.Provider used by java.base java.security.sasl provides java.security.Provider used by java.base java.smartcardio provides java.security.Provider used by java.base java.xml.crypto provides java.security.Provider used by java.base jdk.crypto.cryptoki provides java.security.Provider used by java.base jdk.security.jgss provides java.security.Provider used by java.base .EE .PP مثال زیر یک ایمیج زمان اجرای سفارشی به نام \f[CR]mybuild\f[R] ایجاد می‌کند که تنها شامل \f[CR]java.naming\f[R] و \f[CR]jdk.crypto.cryptoki\f[R] و وابستگی‌های آن‌ها است و هیچ ارائه‌دهندهٔ دیگری را در بر نمی‌گیرد. توجه داشته باشید که این وابستگی‌ها باید در مسیر ماژول (module path) وجود داشته باشند: .IP .EX jlink \-\-add\-modules java.naming,jdk.crypto.cryptoki \-\-output mybuild .EE .PP دستور زیر مشابه دستوری است که ایمیج زمان اجرایی با نام \f[CR]greetingsapp\f[R] ایجاد می‌کند، با این تفاوت که ماژول‌های تحلیل‌شده از ماژول‌های ریشه را با پیوند سرویس (service binding) لینک می‌کند؛ متد \f[B]\f[CB]Configuration.resolveAndBind\f[B]\f[R] را ببینید. .IP .EX jlink \-\-module\-path mlib \-\-add\-modules com.greetings \-\-output greetingsapp \-\-bind\-services .EE .PP دستور زیر ماژول‌های موجود در ایمیج زمان اجرای greetingsapp ایجادشده توسط این دستور را فهرست می‌کند: .IP .EX greetingsapp/bin/java \-\-list\-modules com.greetings java.base\(at11 java.compiler\(at11 java.datatransfer\(at11 java.desktop\(at11 java.logging\(at11 java.management\(at11 java.management.rmi\(at11 java.naming\(at11 java.prefs\(at11 java.rmi\(at11 java.security.jgss\(at11 java.security.sasl\(at11 java.smartcardio\(at11 java.xml\(at11 java.xml.crypto\(at11 jdk.accessibility\(at11 jdk.charsets\(at11 jdk.compiler\(at11 jdk.crypto.cryptoki\(at11 jdk.crypto.ec\(at11 jdk.crypto.mscapi\(at11 jdk.internal.opt\(at11 jdk.jartool\(at11 jdk.javadoc\(at11 jdk.jdeps\(at11 jdk.jfr\(at11 jdk.jlink\(at11 jdk.localedata\(at11 jdk.management\(at11 jdk.management.jfr\(at11 jdk.naming.dns\(at11 jdk.naming.rmi\(at11 jdk.security.auth\(at11 jdk.security.jgss\(at11 jdk.zipfs\(at11 org.astro\(at1.0 .EE