.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JLINK" "1" "2026" "JDK 25.0.4.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) باشند. .TP \f[I]module\f[R] نام ماژول‌هایی که باید به ایمیج زمان اجرا اضافه شوند. ابزار \f[CR]jlink\f[R] این ماژول‌ها و وابستگی‌های متعدی (transitive) آن‌ها را اضافه می‌کند. .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 ={0|1|2}\f[R] یا \f[CR]\-\-compress={0|1|2}\f[R] فشرده‌سازی منابع را فعال می‌کند: .RS .IP \(bu 2 \f[CR]0\f[R]: بدون فشرده‌سازی .IP \(bu 2 \f[CR]1\f[R]: اشتراک‌گذاری رشته‌های ثابت (Constant string sharing) .IP \(bu 2 \f[CR]2\f[R]: ZIP .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]} ترتیب بایت‌ها (byte order) را برای ایمیج تولیدشده مشخص می‌کند. مقدار پیش‌فرض، ساختار معماری سیستم شما است. .TP \f[CR]\-h\f[R] یا \f[CR]\-\-help\f[R] پیام راهنما را چاپ می‌کند. .TP \f[CR]\-\-ignore\-signing\-information\f[R] هنگامی که فایل‌های JAR ماژولار امضاشده در ایمیج زمان اجرا پیوند می‌خورند، از خطای مهلک (fatal error) چشم‌پوشی می‌کند. فایل‌های مربوط به امضای فایل‌های 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]...] دامنه ماژول‌های قابل مشاهده را به ماژول‌های موجود در بستار متعدی ماژول‌های نام‌برده‌شده، \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 را حذف می‌کند. .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]) در ابتدای خط، آن خط را تبدیل به توضیح (کامنت) کنید. در زیر نمونه‌ای از یک فایل گزینه‌ها برای دستور \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=\f[R]{\f[CR]0\f[R]|\f[CR]1\f[R]|\f[CR]2\f[R]}[\f[CR]:filter=\f[R]\f[I]pattern\-list\f[R]] .TP توضیحات تمام منابع را در ایمیج خروجی فشرده می‌کند. .RS .IP \(bu 2 سطح 0: بدون فشرده‌سازی .IP \(bu 2 سطح 1: اشتراک‌گذاری رشته‌های ثابت .IP \(bu 2 سطح 2: ZIP یک فیلتر اختیاری \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 توضیحات فهرست محلی‌سازی‌ها (locales) را شامل می‌شود که در آن \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] قرار دارد. .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 ایجاد می‌کند که نمادهای اشکال‌زدایی از آن حذف شده‌اند، از فشرده‌سازی برای کاهش فضا استفاده می‌کند و شامل اطلاعات محلی زبان فرانسوی است: .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 مثال زیر ارائه‌دهندگانی را که \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.crypto.ec provides java.security.Provider used by java.base jdk.crypto.mscapi 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] و وابستگی‌های آن‌ها است، اما هیچ ارائه‌دهنده دیگری را شامل نمی‌شود. توجه داشته باشید که این وابستگی‌ها باید در مسیر ماژول وجود داشته باشند: .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