'\" t .\" Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. .\" DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. .\" .\" This code is free software; you can redistribute it and/or modify it .\" under the terms of the GNU General Public License version 2 only, as .\" published by the Free Software Foundation. .\" .\" This code is distributed in the hope that it will be useful, but WITHOUT .\" ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or .\" FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License .\" version 2 for more details (a copy is included in the LICENSE file that .\" accompanied this code). .\" .\" You should have received a copy of the GNU General Public License version .\" 2 along with this work; if not, write to the Free Software Foundation, .\" Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. .\" .\" Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA .\" or visit www.oracle.com if you need additional information or have any .\" questions. .\" .\" Arch: generic .\" Software: JDK 8 .\" Date: 21 November 2013 .\" SectDesc: Basic Tools .\" Title: jar.1 .\" .if n .pl 99999 .TH jar 1 "21 November 2013" "JDK 8" "Basic Tools" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" jar \- مدیریت و دستکاری فایل‌های آرشیو جاوا (JAR)\&. .SH "خلاصه دستور (SYNOPSIS)" ایجاد فایل JAR .sp .nf \fBjar c\fR[\fBefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fB\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] .fi .sp به‌روزرسانی فایل JAR .sp .nf \fBjar u\fR[\fBefmMnv0\fR] [\fIentrypoint\fR] [\fIjarfile\fR] [\fImanifest\fR] [\fB\-C\fR \fIdir\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] .fi .sp استخراج فایل JAR .sp .nf \fBjar\fR \fBx\fR[\fBvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] .fi .sp فهرست کردن محتویات فایل JAR .sp .nf \fBjar\fR \fBt\fR[\fBvf\fR] [\fIjarfile\fR] \fIfile\fR \&.\&.\&. [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] .fi .sp افزودن نمایه به فایل JAR .sp .nf \fBjar\fR \fBi\fR \fIjarfile\fR [\-J\fIoption\fR \&.\&.\&.] [@\fIarg\-file\fR \&.\&.\&.] .fi .sp.SH "توضیحات (DESCRIPTION)" دستور \f3jar\fR یک ابزار همه‌منظوره برای بایگانی و فشرده‌سازی بر پایهٔ ZIP و قالب فشرده‌سازی ZLIB است\&. با این حال، دستور \f3jar\fR اساساً برای بسته‌بندی اپلت‌ها یا برنامه‌های Java در یک بایگانی واحد طراحی شده است\&. زمانی که اجزای یک اپلت یا برنامه (فایل‌ها، تصاویر و صداها) در یک بایگانی واحد ترکیب می‌شوند، می‌توانند توسط یک کارگزار Java (مانند یک مرورگر) در یک تراکنش HTTP واحد بارگیری شوند، به‌جای اینکه برای هر قطعه به یک اتصال جدید نیاز باشد\&. این امر زمان بارگیری را به‌طور چشمگیری بهبود می‌بخشد\&. دستور \f3jar\fR همچنین فایل‌ها را فشرده می‌کند که این نیز زمان بارگیری را بیش از پیش کاهش می‌دهد\&. این دستور به نویسندهٔ اپلت امکان می‌دهد که مدخل‌های منفرد فایل را امضا کند تا اصالت مبدأ آن‌ها قابل تأیید باشد\&. یک فایل JAR، فارغ از اینکه فشرده شده باشد یا نه، می‌تواند به عنوان یک مدخل class path استفاده شود\&. .PP نحو دستور \f3jar\fR شبیه نحو دستور \f3tar\fR است\&. این دستور چندین حالت عملیاتی دارد که توسط یکی از \fIآرگومان‌های عملیات\fR اجباری تعیین می‌شوند\&. سایر آرگومان‌ها یا \fIگزینه‌ها\fRیی هستند که رفتار عملیات را تغییر می‌دهند، یا \fIعملوندها\fRیی هستند که برای اجرای عملیات ضروری‌اند\&. .SH "آرگومان‌های عملیات (OPERATION ARGUMENTS)" هنگام استفاده از دستور \f3jar\fR، باید با تعیین یکی از آرگومان‌های عملیات زیر، عملیاتی را که می‌خواهید اجرا شود انتخاب کنید\&. می‌توانید آن‌ها را با گزینه‌های تک‌حرفی دیگر در خط فرمان ترکیب کنید، اما معمولاً آرگومان عملیات نخستین آرگومان مشخص‌شده است\&. .TP c ایجاد یک بایگانی JAR جدید\&. .TP i تولید اطلاعات نمایه (index) برای یک بایگانی JAR\&. .TP t فهرست کردن محتویات یک بایگانی JAR\&. .TP u به‌روزرسانی یک بایگانی JAR\&. .TP x استخراج فایل‌ها از یک بایگانی JAR\&. .SH "گزینه‌ها (OPTIONS)" از گزینه‌های زیر برای سفارشی‌سازی نحوهٔ ایجاد، به‌روزرسانی، استخراج یا مشاهدهٔ فایل JAR استفاده کنید: .TP e کلاس مشخص‌شده توسط عملوند \fIentrypoint\fR را به عنوان نقطهٔ ورود (entry point) برای یک برنامهٔ مستقل Java که درون یک فایل JAR اجرایی بسته‌بندی شده است تعیین می‌کند\&. استفاده از این گزینه مقدار مشخصهٔ \f3Main-Class\fR را در فایل مانیفست ایجاد کرده یا بازنویسی می‌کند\&. گزینهٔ \f3e\fR را می‌توان هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) فایل JAR به کار برد\&. برای نمونه، دستور زیر بایگانی \f3Main\&.jar\fR را همراه با فایل \f3Main\&.class\fR ایجاد می‌کند که در آن مقدار مشخصهٔ \f3Main-Class\fR در مانیفست بر روی \f3Main\fR تنظیم شده است: .sp .nf \f3jar cfe Main\&.jar Main Main\&.class\fP .fi .nf \f3\fP .fi .sp محیط زمان اجرای جاوا (JRE) می‌تواند با اجرای دستور زیر این برنامه را مستقیماً فراخوانی کند: .sp .nf \f3java \-jar Main\&.jar\fP .fi .nf \f3\fP .fi .sp اگر نام کلاس نقطهٔ ورود درون یک پکیج باشد، می‌توان از نقطه (\&.) یا ممیز (/) به عنوان جداکننده استفاده کرد\&. برای نمونه، اگر \f3Main\&.class\fR در پکیجی با نام \f3mydir\fR قرار داشته باشد، نقطهٔ ورود می‌تواند به یکی از روش‌های زیر مشخص شود: .sp .nf \f3jar \-cfe Main\&.jar mydir/Main mydir/Main\&.class\fP .fi .nf \f3jar \-cfe Main\&.jar mydir\&.Main mydir/Main\&.class\fP .fi .nf \f3\fP .fi .sp نکته مشخص کردن هم‌زمان هر دو گزینهٔ \f3m\fR و \f3e\fR هنگامی که یک مانیفست مشخص از پیش دارای مشخصهٔ \f3Main-Class\fR باشد، موجب ابهام در تعیین \f3Main-Class\fR می‌شود\&. این ابهام به بروز خطا منجر شده و عملیات ایجاد یا به‌روزرسانی دستور \f3jar\fR متوقف می‌گردد\&. .TP f فایلی را که توسط عملوند \fI\fR\fIjarfile\fR مشخص شده است، به عنوان نام فایل JAR که ایجاد می‌شود (\f3c\fR)، به‌روزرسانی می‌شود (\f3u\fR)، محتوای آن استخراج می‌شود (\f3x\fR) یا مشاهده می‌شود (\f3t\fR) تعیین می‌کند\&. حذف گزینهٔ \f3f\fR و عملوند \fIjarfile\fR به دستور \f3jar\fR اعلام می‌کند که نام فایل JAR را از \f3stdin\fR دریافت کند (برای \f3x\fR و \f3t\fR) یا فایل JAR را به \f3stdout\fR بفرستد (برای \f3c\fR و \f3u\fR)\&. .TP m نام‌ها و مقادیر مشخصه‌ها را از فایلی که با عملوند \f3manifest\fR تعیین شده است، در فایل مانیفست دستور \f3jar\fR (واقع در بایگانی در مسیر \f3META-INF/MANIFEST\&.MF\fR) می‌گنجاند\&. دستور \f3jar\fR نام و مقدار مشخصه را به فایل JAR می‌افزاید مگر اینکه مدخلی با همان نام از پیش وجود داشته باشد، که در این حالت دستور \f3jar\fR مقدار آن مشخصه را به‌روزرسانی می‌کند\&. گزینهٔ \f3m\fR را می‌توان هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) فایل JAR به کار برد\&. می‌توانید جفت‌های نام-مقدارِ مشخصه با کاربردهای ویژه را که در فایل مانیفست پیش‌فرض وجود ندارند به مانیفست بیفزایید\&. برای نمونه، می‌توانید مشخصه‌هایی برای تعیین اطلاعات سازنده (vendor)، اطلاعات انتشار، مهروموم کردن پکیج (package sealing)، یا اجرایی کردن برنامه‌های بسته‌بندی‌شده در JAR اضافه کنید\&. برای مشاهدهٔ مثال‌هایی از کاربرد گزینهٔ \f3m\fR، بخش Packaging Programs را در ببینید\&. .TP M مدخل فایل مانیفست ایجاد نمی‌کند (برای \f3c\fR و \f3u\fR)، یا در صورت وجود، مدخل فایل مانیفست را حذف می‌کند (برای \f3u\fR)\&. گزینهٔ \f3M\fR را می‌توان هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) فایل JAR استفاده کرد\&. .TP n هنگام ایجاد (\f3c\fR) یک فایل JAR، این گزینه بایگانی را عادی‌سازی (normalize) می‌کند تا محتوای آن تحت تأثیر عملیات بسته‌بندی و باز کردنِ دستور pack200(1) قرار نگیرد\&. بدون این عادی‌سازی، ممکن است امضای یک فایل JAR دارای امضا نامعتبر شود\&. .TP v خروجی پرگو (verbose) را در خروجی استاندارد تولید می‌کند\&. بخش «مثال‌ها» را ببینید\&. .TP 0 (صفر) فایل JAR را بدون استفاده از فشرده‌سازی ZIP ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) می‌کند\&. .TP -C \fIdir\fR .br هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) یک فایل JAR، این گزینه در حین پردازش فایل‌های مشخص‌شده توسط عملوندهای \fIfile\fR، دایرکتوری را موقتاً تغییر می‌دهد\&. عملکرد آن مشابه گزینهٔ \f3-C\fR در ابزار UNIX \f3tar\fR طراحی شده است\&. برای نمونه، دستور زیر به دایرکتوری \f3classes\fR تغییر مسیر داده و فایل \f3Bar\&.class\fR را از آن دایرکتوری به \f3my\&.jar\fR می‌افزاید: .sp .nf \f3jar uf my\&.jar \-C classes Bar\&.class\fP .fi .nf \f3\fP .fi .sp دستور زیر به دایرکتوری \f3classes\fR تغییر مسیر داده و تمام فایل‌های درون آن دایرکتوری را (بدون ایجاد دایرکتوری \f3classes\fR در فایل JAR) به \f3my\&.jar\fR می‌افزاید، سپس پیش از تغییر مسیر به دایرکتوری \f3bin\fR جهت افزودن \f3Xyz\&.class\fR به \f3my\&.jar\fR، به دایرکتوری اولیه بازمی‌گردد\&. .sp .nf \f3jar uf my\&.jar \-C classes \&. \-C bin Xyz\&.class\fP .fi .nf \f3\fP .fi .sp اگر \f3classes\fR شامل فایل‌های \f3bar1\fR و \f3bar2\fR باشد، فایل JAR پس از اجرای دستور قبلی حاوی موارد زیر خواهد بود: .sp .nf \f3% \fIjar tf my\&.jar\fR\fP .fi .nf \f3META\-INF/\fP .fi .nf \f3META\-INF/MANIFEST\&.MF\fP .fi .nf \f3bar1\fP .fi .nf \f3bar2\fP .fi .nf \f3Xyz\&.class\fP .fi .nf \f3\fP .fi .sp .TP \fI\fR-J\fIoption\fR گزینهٔ مشخص‌شدهٔ JVM را برای استفاده در زمان اجرای فایل JAR توسط JRE تنظیم می‌کند\&. گزینه‌های JVM در صفحهٔ راهنمای مرجع دستور java(1) شرح داده شده‌اند\&. برای نمونه، \f3-J-Xms48m\fR مقدار حافظهٔ اولیه هنگام راه‌اندازی را روی 48 مگابایت تنظیم می‌کند\&..SH "عملوندها (OPERANDS)" عملوندهای زیر توسط دستور \f3jar\fR شناسایی می‌شوند\&. .TP \fIfile\fR هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) یک فایل JAR، عملوند \fIfile\fR مسیر و نام فایل یا دایرکتوری‌ای را که باید به آرشیو افزوده شود مشخص می‌کند\&. هنگام استخراج (\f3x\fR) یا فهرست کردن محتویات (\f3t\fR) یک فایل JAR، عملوند \fIfile\fR مسیر و نام فایل مورد نظر برای استخراج یا فهرست شدن را مشخص می‌کند\&. حداقل یک فایل یا دایرکتوری معتبر باید مشخص شود\&. عملوندهای چندگانهٔ \fIfile\fR را با فاصله از هم جدا کنید\&. در صورت استفاده از عملوندهای \fIentrypoint\fR، \fIjarfile\fR یا \fImanifest\fR، عملوندهای \fIfile\fR باید پس از آن‌ها مشخص شوند\&. .TP \fIentrypoint\fR هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) یک فایل JAR، عملوند \fIentrypoint\fR نام کلاسی را مشخص می‌کند که باید نقطهٔ ورود برای یک برنامهٔ مستقل Java بسته‌بندی‌شده در یک فایل JAR اجرایی باشد\&. اگر گزینهٔ \f3e\fR مشخص شده باشد، عملوند \fIentrypoint\fR نیز باید مشخص شود\&. .TP \fIjarfile\fR نام فایلی را مشخص می‌کند که قرار است ایجاد (\f3c\fR)، به‌روزرسانی (\f3u\fR)، استخراج (\f3x\fR) یا مشاهده (\f3t\fR) شود\&. در صورت وجود گزینهٔ \f3f\fR، عملوند \fIjarfile\fR باید مشخص شود\&. نادیده گرفتن گزینهٔ \f3f\fR و عملوند \fIjarfile\fR به دستور \f3jar\fR اعلام می‌کند که نام فایل JAR را از \f3stdin\fR دریافت کند (برای \f3x\fR و \f3t\fR) یا فایل JAR را به \f3stdout\fR بفرستد (برای \f3c\fR و \f3u\fR)\&. هنگام ایندکس کردن (\f3i\fR) یک فایل JAR، عملوند \fIjarfile\fR را بدون گزینهٔ \f3f\fR مشخص کنید\&. .TP \fImanifest\fR هنگام ایجاد (\f3c\fR) یا به‌روزرسانی (\f3u\fR) یک فایل JAR، عملوند \fImanifest\fR فایل‌های مانیفست از پیش موجود را به همراه نام‌ها و مقادیر مشخصه‌هایی که باید در \f3MANIFEST\&.MF\fR فایل JAR گنجانده شوند مشخص می‌کند\&. اگر گزینهٔ \f3f\fR وجود داشته باشد، عملوند \fImanifest\fR باید مشخص شود\&. .TP \fI@arg-file\fR برای کوتاه کردن یا ساده‌سازی دستور \f3jar\fR، می‌توانید آرگومان‌ها را در یک فایل متنی جداگانه مشخص کرده و آن را با پیشوند علامت ات (@) به دستور \f3jar\fR ارسال کنید\&. هنگامی که دستور \f3jar\fR به آرگومانی می‌رسد که با علامت ات شروع می‌شود، محتویات آن فایل را در فهرست آرگومان‌ها گسترش می‌دهد\&. یک فایل آرگومان می‌تواند شامل گزینه‌ها و آرگومان‌های دستور \f3jar\fR باشد (به‌جز گزینه‌های \f3-J\fR، زیرا آن‌ها به اجراکننده (launcher) ارسال می‌شوند که از فایل‌های آرگومان پشتیبانی نمی‌کند)\&. آرگومان‌های درون فایل را می‌توان با فاصله یا نویسه‌های خط جدید از یکدیگر جدا کرد\&. نام‌های فایل درون یک فایل آرگومان نسبت به دایرکتوری جاری که دستور \f3jar\fR را از آن اجرا می‌کنید سنجیده می‌شوند، نه نسبت به مکان فایل آرگومان\&. نویسه‌های عام (Wildcard) مانند ستاره (*)، که در حالت عادی توسط شل سیستم‌عامل باز می‌شوند، در اینجا باز نمی‌شوند\&. مثال زیر نشان می‌دهد که چگونه یک فایل \f3classes\&.list\fR با نام فایل‌های موجود در دایرکتوری جاری که از خروجی دستور \f3find\fR به دست آمده است، ایجاد کنید: .sp .nf \f3find \&. \-name \&'*\&.class\&' \-print > classes\&.list\fP .fi .nf \f3\fP .fi .sp سپس می‌توانید دستور \f3jar\fR را اجرا کرده و فایل \f3classes\&.list\fR را با استفاده از نحو \fI@arg-file\fR به آن ارسال کنید: .sp .nf \f3jar cf my\&.jar @classes\&.list\fP .fi .nf \f3\fP .fi .sp یک فایل آرگومان می‌تواند همراه با یک مسیر مشخص شود، اما نام هر فایلی درون فایل آرگومان که دارای مسیر نسبی است نسبت به دایرکتوری کاری جاری دستور \f3jar\fR در نظر گرفته می‌شود، نه نسبت به مسیر ارسال‌شده؛ برای مثال: .sp .nf \f3jar @dir/classes\&.list\fP .fi .nf \f3\fP .fi .sp .SH "نکات (NOTES)" گزینه‌های \f3e\fR، \f3f\fR و \f3m\fR در خط فرمان باید دقیقاً به همان ترتیبی ظاهر شوند که عملوندهای \fIentrypoint\fR، \fIjarfile\fR و \fImanifest\fR مشخص شده‌اند؛ برای مثال: .sp .nf \f3jar cmef myManifestFile MyMainClass myFile\&.jar *\&.class\fP .fi .nf \f3\fP .fi .sp .SH "مثال‌ها (EXAMPLES)" \f3مثال ۱ افزودن تمام فایل‌ها از دایرکتوری جاری همراه با خروجی پرجزئیات\fR .sp .nf \f3% ls\fP .fi .nf \f31\&.au Animator\&.class monkey\&.jpg\fP .fi .nf \f32\&.au Wave\&.class spacemusic\&.au\fP .fi .nf \f33\&.au at_work\&.gif\fP .fi .nf \f3\fP .fi .nf \f3% jar cvf bundle\&.jar *\fP .fi .nf \f3added manifest\fP .fi .nf \f3adding: 1\&.au(in = 2324) (out= 67)(deflated 97%)\fP .fi .nf \f3adding: 2\&.au(in = 6970) (out= 90)(deflated 98%)\fP .fi .nf \f3adding: 3\&.au(in = 11616) (out= 108)(deflated 99%)\fP .fi .nf \f3adding: Animator\&.class(in = 2266) (out= 66)(deflated 97%)\fP .fi .nf \f3adding: Wave\&.class(in = 3778) (out= 81)(deflated 97%)\fP .fi .nf \f3adding: at_work\&.gif(in = 6621) (out= 89)(deflated 98%)\fP .fi .nf \f3adding: monkey\&.jpg(in = 7667) (out= 91)(deflated 98%)\fP .fi .nf \f3adding: spacemusic\&.au(in = 3079) (out= 73)(deflated 97%)\fP .fi .nf \f3\fP .fi .sp \f3مثال ۲ افزودن فایل‌ها از زیردایرکتوری‌ها\fR .sp .nf \f3% ls \-F\fP .fi .nf \f3audio/ classes/ images/\fP .fi .nf \f3% jar cvf bundle\&.jar audio classes images\fP .fi .nf \f3added manifest\fP .fi .nf \f3adding: audio/(in = 0) (out= 0)(stored 0%)\fP .fi .nf \f3adding: audio/1\&.au(in = 2324) (out= 67)(deflated 97%)\fP .fi .nf \f3adding: audio/2\&.au(in = 6970) (out= 90)(deflated 98%)\fP .fi .nf \f3adding: audio/3\&.au(in = 11616) (out= 108)(deflated 99%)\fP .fi .nf \f3adding: audio/spacemusic\&.au(in = 3079) (out= 73)(deflated 97%)\fP .fi .nf \f3adding: classes/(in = 0) (out= 0)(stored 0%)\fP .fi .nf \f3adding: classes/Animator\&.class(in = 2266) (out= 66)(deflated 97%)\fP .fi .nf \f3adding: classes/Wave\&.class(in = 3778) (out= 81)(deflated 97%)\fP .fi .nf \f3adding: images/(in = 0) (out= 0)(stored 0%)\fP .fi .nf \f3adding: images/monkey\&.jpg(in = 7667) (out= 91)(deflated 98%)\fP .fi .nf \f3adding: images/at_work\&.gif(in = 6621) (out= 89)(deflated 98%)\fP .fi .nf \f3\fP .fi .nf \f3% ls \-F\fP .fi .nf \f3audio/ bundle\&.jar classes/ images/\fP .fi .nf \f3\fP .fi .sp \f3مثال ۳ فهرست کردن محتویات JAR\fR .sp .nf \f3% jar tf bundle\&.jar\fP .fi.sp .sp .nf \f3META\-INF/\fP .fi .nf \f3META\-INF/MANIFEST\&.MF\fP .fi .nf \f3audio/1\&.au\fP .fi .nf \f3audio/2\&.au\fP .fi .nf \f3audio/3\&.au\fP .fi .nf \f3audio/spacemusic\&.au\fP .fi .nf \f3classes/Animator\&.class\fP .fi .nf \f3classes/Wave\&.class\fP .fi .nf \f3images/monkey\&.jpg\fP .fi .nf \f3images/at_work\&.gif\fP .fi .nf \f3\fP .fi .sp \f3مثال ۴: افزودن یک نمایه\fR .PP از گزینهٔ \f3i\fR زمانی استفاده کنید که کلاس‌های وابسته به یکدیگر را برای یک برنامهٔ دادوستد سهام به سه فایل JAR تقسیم می‌کنید: \f3main\&.jar\fR، \f3buy\&.jar\fR و \f3sell\&.jar\fR\&. اگر مشخصهٔ \f3Class-Path\fR را در مانیفستِ \f3main\&.jar\fR مشخص کنید، می‌توانید از گزینهٔ \f3i\fR برای افزایش سرعت زمان بارگذاری کلاس در برنامهٔ خود استفاده کنید: .sp .nf \f3Class\-Path: buy\&.jar sell\&.jar\fP .fi .nf \f3jar i main\&.jar\fP .fi .nf \f3\fP .fi .sp یک فایل \f3INDEX\&.LIST\fR در دایرکتوری \f3META-INF\fR درج می‌شود\&. این کار به بارگذار کلاس برنامه امکان می‌دهد تا هنگام جست‌وجو برای کلاس‌ها یا منابع، فایل‌های JAR مشخص‌شده را دریافت کند\&. .PP بارگذار کلاس برنامه از اطلاعات ذخیره‌شده در این فایل برای بارگذاری بهینهٔ کلاس‌ها استفاده می‌کند\&. برای کپی کردن دایرکتوری‌ها، ابتدا فایل‌های موجود در \f3dir1\fR را به \f3stdout\fR فشرده کنید، سپس لوله‌کشی کرده و از \f3stdin\fR به \f3dir2\fR استخراج نمایید (با حذف گزینهٔ \f3-f\fR از هر دو دستور \f3jar\fR): .sp .nf \f3(cd dir1; jar c \&.) | (cd dir2; jar x)\fP .fi .nf \f3\fP .fi .sp .SH "همچنین ببینید (SEE ALSO)" .TP 0.2i \(bu pack200(1)\&. .TP 0.2i \(bu بخش JAR در آموزش‌های جاوا (The Java Tutorials) در http://docs\&.oracle\&.com/javase/tutorial/deployment/jar/index\&.html .RE .br 'pl 8.5i 'bp