.\" Automatically generated by Pandoc 3.10.2 .\" .TH "JAVADOC" "1" "2026" "JDK 26.0.2.1" "JDK Commands" .SH "نام (NAME)" javadoc \- ابزار تولید صفحات HTML مستندات API از فایلهای منبع جاوا .SH "خلاصه دستور (SYNOPSIS)" \f[CR]javadoc\f[R] [\f[I]options\f[R]] [\f[I]packagenames\f[R]] [\f[I]sourcefiles\f[R]] [\f[CR]\(at\f[R]\f[I]files\f[R]] .TP \f[I]options\f[R] گزینههای خط فرمان را مشخص میکند که با فاصله از هم جدا میشوند. بخشهای \f[B]گزینههای استاندارد \f[CB]javadoc\f[B]\f[R]، \f[B]گزینههای اضافی \f[CB]javadoc\f[B]\f[R]، \f[B]گزینههای استاندارد برای داکلت استاندارد\f[R]، و \f[B]گزینههای اضافی برای داکلت استاندارد\f[R] را ببینید. .TP \f[I]packagenames\f[R] نام بستههایی را که میخواهید مستندسازی کنید مشخص میکند که با فاصله از هم جدا میشوند، برای مثال \f[CR]java.lang java.lang.reflect java.awt\f[R]. اگر میخواهید زیربستهها را نیز مستندسازی کنید، از گزینه \f[CR]\-subpackages\f[R] برای مشخص کردن بستهها استفاده کنید. .RS بهطور پیشفرض، \f[CR]javadoc\f[R] به دنبال بستههای مشخصشده در دایرکتوری جاری و زیردایرکتوریهای آن میگردد. از گزینه \f[CR]\-sourcepath\f[R] برای تعیین فهرست دایرکتوریهای محل جستجوی بستهها استفاده کنید. .RE .TP \f[I]sourcefiles\f[R] نام فایلهای منبع جاوا را که میخواهید مستندسازی کنید مشخص میکند که با فاصله از هم جدا شدهاند، برای مثال \f[CR]Class.java Object.java Button.java\f[R]. بهطور پیشفرض، \f[CR]javadoc\f[R] کلاسهای مشخصشده را در دایرکتوری جاری جستجو میکند. با این حال، میتوانید مسیر کامل فایل کلاس را مشخص کرده و از نویسههای عام (wildcard) استفاده کنید، برای مثال \f[CR]/home/src/java/awt/Graphics*.java\f[R]. همچنین میتوانید مسیر را نسبت به دایرکتوری جاری مشخص کنید. .TP \f[CR]\(at\f[R]\f[I]files\f[R] نام فایلهایی را مشخص میکند که شامل فهرستی از گزینههای ابزار \f[CR]javadoc\f[R]، نام بستهها و نام فایلهای منبع به هر ترتیبی هستند. .SH "توضیحات (DESCRIPTION)" ابزار \f[CR]javadoc\f[R] اعلانها و کامنتهای مستندسازی را در مجموعهای از فایلهای منبع جاوا تجزیه کرده و آنها را با استفاده از یک بخش پشتی (back-end) با قابلیت اتصال به نام \f[B]\f[BI]داکلت (doclet)\f[B]\f[R] پردازش میکند. .PP \f[B]\f[BI]داکلت استاندارد (standard doclet)\f[B]\f[R] موردی است که بهطور پیشفرض استفاده میشود و میتواند صفحات HTML متناظری تولید کند که کلاسهای عمومی و محافظتشده، کلاسهای تو در تو و کلاسهای به صورت ضمنی اعلانشده (اما نه کلاسهای داخلی ناشناس)، رابطها، سازندهها، متدها و فیلدها را توصیف میکنند. داکلت استاندارد محتوای کامنتهای مستندسازی را مطابق با \f[B]JavaDoc Documentation Comment Specification for the Standard Doclet\f[R] تفسیر میکند. تگهای سفارشی در کامنتهای مستندسازی به وسیله \f[B]taglet\f[R]ها پشتیبانی میشوند. .PP میتوانید از ابزار \f[CR]javadoc\f[R] و داکلت استاندارد برای تولید مستندات API یا مستندات پیادهسازی برای مجموعهای از فایلهای منبع استفاده کنید. .PP میتوانید ابزار \f[CR]javadoc\f[R] را روی کل بستهها، فایلهای منبع منفرد، یا هر دو اجرا کنید. هنگام مستندسازی کل بستهها، میتوانید از گزینه \f[CR]\-subpackages\f[R] یا برای پیمایش بازگشتی یک دایرکتوری و زیردایرکتوریهای آن، یا برای ارسال فهرستی صریح از نامهای بسته استفاده کنید. هنگامی که فایلهای منبع منفرد را مستندسازی میکنید، فهرستی از نامهای فایل منبع جاوا را ارسال کنید. .SS "کامنتهای مستندسازی (Documentation Comments)" ابزار \f[CR]javadoc\f[R] از کامنت مستندسازی (در صورت وجود) که بلافاصله پیش از شروع اعلان قرار دارد استفاده میکند؛ چه اعلان یک یادداشت (annotation)، تغییردهنده (modifier) یا نام اعلانشده باشد. اگر چندین کامنت مستندسازی قبل از اعلان وجود داشته باشد، فقط آخرین کامنت (نزدیکترین به اعلان) استفاده خواهد شد. اگر هرگونه کامنت مستندسازی پس از شروع اعلان وجود داشته باشد، نادیده گرفته میشود. برای بررسی هرگونه کامنت مستندسازی اضافی یا نامناسب، کد منبع خود را با گزینه \f[CR]\-Xlint\f[R] در \f[CR]javac\f[R]، یا به طور خاصتر، با \f[CR]\-Xlint:dangling\-doc\-comments\f[R] کامپایل کنید. درون یک فایل منبع، میتوانید با استفاده از \f[CR]\(atSuppressWarnings(\(dqdangling\-doc\-comments\(dq)\f[R] بر روی یک اعلان دربرگیرنده مناسب، هشدارهای ایجادشده توسط این گزینهها را بیصدا کنید. .SS "انطباق و سازگاری (Conformance)" داکلت استاندارد محتوای کامنتهای مستندسازی را برای انطباق اعتبارسنجی نمیکند و تلاشی برای تصحیح خطاهای موجود در کامنتهای مستندسازی انجام نمیدهد. به هر کسی که javadoc را اجرا میکند توصیه میشود از مشکلاتی که ممکن است هنگام تولید خروجی ناسازگار یا خروجی حاوی محتوای اجرایی مانند جاوااسکریپت رخ دهد آگاه باشد. داکلت استاندارد ویژگی \f[B]DocLint\f[R] را برای کمک به توسعهدهندگان در تشخیص مشکلات رایج در کامنتهای مستندسازی ارائه میدهد؛ اما همچنین توصیه میشود خروجی تولیدشده با ابزارهای مناسب اعتبارسنجی انطباق و سایر ابزارهای بررسی ارزیابی شود. .PP برای جزئیات بیشتر در مورد الزامات انطباق برای اسناد HTML5، بخش \f[B]Conformance requirements for authors\f[R] [https://html.spec.whatwg.org/multipage/introduction.html#conformance\-requirements\-for\-authors] در مشخصات HTML5 را ببینید. برای جزئیات بیشتر در مورد مسائل امنیتی مرتبط با صفحات وب، صفحه \f[B]پروژه امنیت برنامههای کاربردی وب باز (OWASP)\f[R] [https://www.owasp.org] را ببینید. .SH "گزینهها (OPTIONS)" دستور \f[CR]javadoc\f[R] از گزینههای خط فرمان برای هر دو ابزار اصلی \f[CR]javadoc\f[R] و داکلت انتخابشده فعلی پشتیبانی میکند. اگر داکلت دیگری مشخص نشده باشد، از داکلت استاندارد (standard doclet) استفاده میشود. .PP گزینههای به سبک GNU (یعنی آنهایی که با \f[CR]--\f[R] شروع میشوند) میتوانند به جای نویسههای فاصله، از علامت مساوی (\f[CR]=\f[R]) برای جدا کردن نام گزینه از مقدار آن استفاده کنند. .SS "گزینههای استاندارد \f[CR]javadoc\f[R]" گزینههای اصلی \f[CR]javadoc\f[R] زیر معادل گزینههای متناظر \f[CR]javac\f[R] هستند. برای توضیحات دقیق استفاده از این گزینهها، بخش \f[I]گزینههای استاندارد\f[R] در \f[B]javac\f[R] را ببینید: .IP \(bu 2 \f[CR]--add-modules\f[R] .IP \(bu 2 \f[CR]-bootclasspath\f[R] .IP \(bu 2 \f[CR]--class-path\f[R]، \f[CR]-classpath\f[R]، یا \f[CR]-cp\f[R] .IP \(bu 2 \f[CR]--disable-line-doc-comments\f[R] .IP \(bu 2 \f[CR]--enable-preview\f[R] .IP \(bu 2 \f[CR]-encoding\f[R] .IP \(bu 2 \f[CR]-extdirs\f[R] .IP \(bu 2 \f[CR]--limit-modules\f[R] .IP \(bu 2 \f[CR]--module\f[R] .IP \(bu 2 \f[CR]--module-path\f[R] یا \f[CR]-p\f[R] .IP \(bu 2 \f[CR]--module-source-path\f[R] .IP \(bu 2 \f[CR]--release\f[R] .IP \(bu 2 \f[CR]--source\f[R] یا \f[CR]-source\f[R] .IP \(bu 2 \f[CR]--source-path\f[R] یا \f[CR]-sourcepath\f[R] .IP \(bu 2 \f[CR]--system\f[R] .IP \(bu 2 \f[CR]--upgrade-module-path\f[R] .PP گزینههای زیر گزینههای اصلی \f[CR]javadoc\f[R] هستند که معادل گزینه متناظری در \f[CR]javac\f[R] نیستند: .TP \f[CR]-breakiterator\f[R] جمله اول توضیحات در یک کامنت مستندسازی را با استفاده از نمونهای از \f[CR]java.text.BreakIterator\f[R] برای تشخیص \f[I]پایان جملات\f[R] محاسبه میکند. قواعد مورد استفاده به \f[B]محلی (locale) جاری\f[R] بستگی دارد: برای مثال، در زبان انگلیسی، پایان جمله پس از یک نقطه، علامت سوال، یا علامت تعجب همراه با یک فاصله زمانی که کلمه بعدی با یک حرف بزرگ شروع میشود رخ میدهد. (این حالت برای مدیریت اکثر اختصارات در نظر گرفته شده است، مانند \(dqThe serial no. is valid\(dq، اما مواردی مانند \(dqMr. Smith\(dq را پردازش نمیکند.) .RS اگر زبان محلی جاری انگلیسی نباشد، این گزینه بهطور پیشفرض فعال است. اگر زبان محلی جاری انگلیسی باشد و گزینه \f[CR]-breakiterator\f[R] مشخص نشده باشد، از یک الگوریتم پیشفرض ساده استفاده میشود که صرفاً به دنبال یک نقطه و به دنبال آن یک فاصله میگردد. در کامنتهای سنتی \f[CR]/**...*/\f[R]، جستجو برای پایان جمله اول با یک تگ بلوکی HTML مانند \f[CR]
\f[R]، \f[CR]
\f[R] یا تگ سربرگ خاتمه مییابد.
در کامنتهای مارکداون \f[CR]///\f[R]، جستجو برای پایان جمله اول از هر نویسهای که داخل محدودههای کد (code spans) و پیوندها قرار دارد رد میشود و با پایان بلوک اولیه (که با یک خط خالی یا شروع بلوک بعدی مانند لیست، خط تفکیک یا بلوک HTML مشخص میشود) پایان مییابد.
جمله اول توضیحات در یک کامنت مستندسازی در جداول خلاصه، صفحات نمایه و سایر موقعیتهایی که به یک خلاصه کوتاه نیاز است استفاده میشود.
برای کنترل صریحتر در هر کامنت مستندسازی منفرد، محتوای جمله اول را در یک تگ \f[CR]{\(atsummary ...}\f[R] یا در صورت کاربرد در یک تگ \f[CR]{\(atreturn ...}\f[R] قرار دهید.
.RE
.TP
\f[CR]-doclet\f[R] \f[I]class\f[R]
خروجی را با استفاده از یک داکلت جایگزین تولید میکند.
از نام کاملاً واجد شرایط (fully qualified) استفاده کنید.
این داکلت محتوا را تعریف کرده و خروجی را قالببندی میکند.
اگر گزینه \f[CR]-doclet\f[R] استفاده نشود، ابزار \f[CR]javadoc\f[R] از داکلت استاندارد برای تولید فرمت پیشفرض HTML استفاده میکند.
این کلاس باید رابط \f[CR]jdk.javadoc.doclet.Doclet\f[R] را پیادهسازی کند.
مسیر این کلاس توسط گزینه \f[CR]-docletpath\f[R] تعریف میشود.
.TP
\f[CR]-docletpath\f[R] \f[I]path\f[R]
محل یافتن فایلهای کلاس داکلت (مشخصشده با گزینه \f[CR]-doclet\f[R]) و هر فایل JAR وابسته به آن را مشخص میکند.
اگر فایل کلاس شروع در یک فایل JAR باشد، این گزینه مسیر آن فایل JAR را مشخص میکند.
میتوانید یک مسیر مطلق یا یک مسیر نسبی نسبت به دایرکتوری جاری مشخص کنید.
اگر \f[CR]path\f[R] شامل چندین مسیر یا فایل JAR باشد، باید با دونقطه (\f[CR]:\f[R]) در لینوکس و macOS، و نقطهویرگول (\f[CR];\f[R]) در ویندوز از هم جدا شوند.
زمانی که کلاس شروع \f[CR]doclet\f[R] از قبل در مسیر جستجو باشد، این گزینه ضروری نیست.
.TP
\f[CR]-exclude\f[R] \f[I]pkglist\f[R]
بهطور بدون قید و شرط، بستههای مشخصشده و زیربستههای آنها را از فهرستی که توسط \f[CR]-subpackages\f[R] تشکیل شده است مستثنی میکند.
این گزینه آن بستهها را حتی اگر توسط یک گزینه \f[CR]-subpackages\f[R] قبلی یا بعدی گنجانده شده باشند، حذف میکند.
.RS
مثال زیر شامل \f[CR]java.io\f[R]، \f[CR]java.util\f[R]، و \f[CR]java.math\f[R] (در میان دیگران) میشود، اما بستههای ریشهدار در \f[CR]java.net\f[R] و \f[CR]java.lang\f[R] را مستثنی میکند.
توجه داشته باشید که این مثالها \f[CR]java.lang.ref\f[R] را که یک زیربسته از \f[CR]java.lang\f[R] است، مستثنی میکنند.
آرگومانها در تمام سیستمهای عامل با دونقطه از هم جدا میشوند.
.IP \(bu 2
\f[B]لینوکس و macOS:\f[R]
.RS 2
.IP
.EX
javadoc \-sourcepath /home/user/src \-subpackages java \-exclude java.net:java.lang
.EE
.RE
.IP \(bu 2
\f[B]ویندوز:\f[R]
.RS 2
.IP
.EX
javadoc \-sourcepath \(rsuser\(rssrc \-subpackages java \-exclude java.net:java.lang
.EE
.RE
.RE
.TP
\f[CR]--expand-requires\f[R] (\f[CR]transitive\f[R]|\f[CR]all\f[R])
به ابزار javadoc دستور میدهد تا مجموعه ماژولهایی را که باید مستندسازی شوند گسترش دهد.
بهطور پیشفرض، فقط ماژولهایی که صریحاً در خط فرمان داده شدهاند مستندسازی میشوند.
از مقادیر زیر پشتیبانی میکند:
.RS
.IP \(bu 2
\f[CR]transitive\f[R]: علاوه بر این، تمام وابستگیهای انتقالی (transitive) مورد نیاز آن ماژولها را نیز شامل میشود.
.IP \(bu 2
\f[CR]all\f[R]: تمام وابستگیها را شامل میشود.
.RE
.TP
\f[CR]--help\f[R]، \f[CR]-help\f[R]، \f[CR]-h\f[R]، یا \f[CR]-?\f[R]
خلاصهای از گزینههای استاندارد را چاپ میکند.
.TP
\f[CR]--help-extra\f[R] یا \f[CR]-X\f[R]
خلاصهای از مجموعه گزینههای اضافی را چاپ میکند.
.TP
\f[CR]-J\f[R]\f[I]flag\f[R]
مقدار \f[I]flag\f[R] را مستقیماً به محیط زمان اجرای جاوا (JRE) که ابزار \f[CR]javadoc\f[R] را اجرا میکند ارسال میکند.
برای مثال، اگر باید اطمینان حاصل کنید که سیستم ۳۲ مگابایت حافظه برای پردازش مستندات تولیدشده کنار میگذارد، گزینه \f[CR]-Xmx\f[R] را به این صورت فراخوانی میکنید:
\f[CR]javadoc -J-Xmx32m -J-Xms32m com.mypackage\f[R].
توجه داشته باشید که \f[CR]-Xms\f[R] اختیاری است زیرا فقط اندازه حافظه اولیه را تنظیم میکند، که زمانی مفید است که حداقل مقدار حافظه مورد نیاز را میدانید.
.RS
هیچ فاصلهای بین \f[CR]J\f[R] و \f[CR]flag\f[R] وجود ندارد.
از گزینه \f[CR]-version\f[R] برای گزارش نسخه JRE مورد استفاده برای اجرای ابزار \f[CR]javadoc\f[R] استفاده کنید.
.IP
.EX
javadoc \-J\-version
java version \(dq17\(dq 2021\-09\-14 LTS
Java(TM) SE Runtime Environment (build 17+35\-LTS\-2724)
Java HotSpot(TM) 64\-Bit Server VM (build 17+35\-LTS\-2724, mixed mode, sharing)
.EE
.RE
.TP
\f[CR]-locale\f[R] \f[I]name\f[R]
محلی (locale) را که ابزار \f[CR]javadoc\f[R] هنگام تولید مستندات استفاده میکند مشخص میسازد.
آرگومان نام محلی است، همانطور که در مستندات \f[CR]java.util.Locale\f[R] شرح داده شده است، مانند \f[CR]en_US\f[R] (انگلیسی، ایالات متحده) یا \f[CR]en_US_WIN\f[R] (گونه ویندوز).
.RS
مشخص کردن یک محلی باعث میشود ابزار \f[CR]javadoc\f[R] فایلهای منبع آن محلی را برای پیامهایی مانند رشتههای نوار ناوبری، سربرگهای فهرستها و جداول، محتوای فایل راهنما، کامنتهای موجود در فایل \f[CR]stylesheet.css\f[R] و غیره انتخاب کند.
همچنین ترتیب مرتبسازی فهرستهای مرتبشده بر اساس الفبا و جداکننده جمله را برای تعیین پایان جمله اول مشخص میکند.
گزینه \f[CR]-locale\f[R] محلی متن کامنت مستندسازی مشخصشده در فایلهای منبع کلاسهای مستندشده را تعیین نمیکند.
.RE
.TP
\f[CR]-package\f[R]
فقط کلاسها و اعضای بسته، محافظتشده (protected) و عمومی (public) را نمایش میدهد.
.TP
\f[CR]-private\f[R]
همه کلاسها و اعضا را نمایش میدهد.
.TP
\f[CR]-protected\f[R]
فقط کلاسها و اعضای محافظتشده و عمومی را نمایش میدهد.
این حالت پیشفرض است.
.TP
\f[CR]-public\f[R]
فقط کلاسها و اعضای عمومی را نمایش میدهد.
.TP
\f[CR]-quiet\f[R]
پیامها را خاموش میکند تا فقط هشدارها و خطاها ظاهر شوند تا مشاهده آنها آسانتر شود.
همچنین رشته \f[CR]version\f[R] را سرکوب میکند.
.TP
\f[CR]--show-members\f[R] \f[I]value\f[R]
مشخص میکند کدام اعضا (فیلدها، متدها یا سازندهها) مستندسازی شوند، که در آن \f[I]value\f[R] میتواند هر یک از موارد زیر باشد:
.RS
.IP \(bu 2
\f[CR]public\f[R] \-\-\- فقط اعضای عمومی را نمایش میدهد
.IP \(bu 2
\f[CR]protected\f[R] \-\-\- اعضای عمومی و محافظتشده را نمایش میدهد؛ این حالت پیشفرض است
.IP \(bu 2
\f[CR]package\f[R] \-\-\- اعضای عمومی، محافظتشده و بسته را نمایش میدهد
.IP \(bu 2
\f[CR]private\f[R] \-\-\- تمام اعضا را نمایش میدهد
.RE
.TP
\f[CR]--show-module-contents\f[R] \f[I]value\f[R]
سطح جزئیات مستندسازی اعلانهای ماژول را مشخص میکند، که در آن \f[I]value\f[R] میتواند \f[CR]api\f[R] یا \f[CR]all\f[R] باشد.
.TP
\f[CR]--show-packages\f[R] \f[I]value\f[R]
مشخص میکند کدام بستههای ماژول مستندسازی شوند، که در آن \f[I]value\f[R] میتواند بستههای صادرشده (\f[CR]exported\f[R]) یا تمام بستهها (\f[CR]all\f[R]) باشد.
.TP
\f[CR]--show-types\f[R] \f[I]value\f[R]
مشخص میکند کدام نوعها (کلاسها، رابطها و غیره) مستندسازی شوند، که در آن \f[I]value\f[R] میتواند هر یک از موارد زیر باشد:
.RS
.IP \(bu 2
\f[CR]public\f[R] \-\-\- فقط نوعهای عمومی را نمایش میدهد
.IP \(bu 2
\f[CR]protected\f[R] \-\-\- نوعهای عمومی و محافظتشده را نمایش میدهد؛ این حالت پیشفرض است
.IP \(bu 2
\f[CR]package\f[R] \-\-\- نوعهای عمومی، محافظتشده و بسته را نمایش میدهد
.IP \(bu 2
\f[CR]private\f[R] \-\-\- تمام نوعها را نمایش میدهد
.RE
.TP
\f[CR]-subpackages\f[R] \f[I]subpkglist\f[R]
مستندات را از فایلهای منبع در بستههای مشخصشده و بهطور بازگشتی در زیربستههای آنها تولید میکند.
این گزینه هنگام افزودن زیربستههای جدید به کد منبع مفید است زیرا آنها بهطور خودکار گنجانده میشوند.
هر آرگومان بسته هر زیربسته سطح بالا (مانند \f[CR]java\f[R]) یا بسته کاملاً واجد شرایط (مانند \f[CR]javax.swing\f[R]) است که نیازی به داشتن فایلهای منبع ندارد.
آرگومانها در تمام سیستمهای عامل با دونقطه از هم جدا میشوند.
استفاده از نویسههای عام (wildcard) مجاز نیست.
از \f[CR]-sourcepath\f[R] برای مشخص کردن محل یافتن بستهها استفاده کنید.
این گزینه فایلهای منبعی را که در درخت منبع هستند اما به بستهها تعلق ندارند پردازش نمیکند.
.RS
برای مثال، دستورات زیر مستندات را برای بستههایی به نام \f[CR]java\f[R] و \f[CR]javax.swing\f[R] و تمام زیربستههای آنها تولید میکنند:
.IP \(bu 2
\f[B]لینوکس و macOS:\f[R]
.RS 2
.IP
.EX
javadoc \-d docs \-sourcepath /home/user/src \-subpackages java:javax.swing
.EE
.RE
.IP \(bu 2
\f[B]ویندوز:\f[R]
.RS 2
.IP
.EX
javadoc \-d docs \-sourcepath \(rsuser\(rssrc \-subpackages java:javax.swing
.EE
.RE
.RE
.TP
\f[CR]-verbose\f[R]
پیامهای با جزئیات بیشتر را در حین اجرای ابزار \f[CR]javadoc\f[R] ارائه میدهد.
بدون گزینه \f[CR]-verbose\f[R]، پیامها برای بارگیری فایلهای منبع، تولید مستندات (یک پیام به ازای هر فایل منبع) و مرتبسازی ظاهر میشوند.
گزینه \f[CR]-verbose\f[R] باعث چاپ پیامهای اضافی میشود که تعداد میلیثانیهها را برای تجزیه هر فایل منبع جاوا مشخص میکند.
.TP
\f[CR]--version\f[R]
اطلاعات نسخه را چاپ میکند.
.TP
\f[CR]-Werror\f[R]
در صورت بروز هرگونه هشدار، یک خطا گزارش میدهد.
.PP
توجه داشته باشید که اگر یک فایل منبع جاوا شامل یک کلاس به صورت ضمنی اعلانشده باشد، آن کلاس و اعضای عمومی، محافظتشده و بسته آن بدون در نظر گرفتن گزینههایی مانند \f[CR]--show-types\f[R]، \f[CR]--show-members\f[R]، \f[CR]-private\f[R]، \f[CR]-protected\f[R]، \f[CR]-package\f[R] و \f[CR]-public\f[R] مستندسازی خواهند شد.
اگر \f[CR]--show-members\f[R] با مقدار \f[CR]private\f[R] مشخص شود یا اگر \f[CR]-private\f[R] استفاده شود، تمام اعضای خصوصی یک کلاس به صورت ضمنی اعلانشده نیز مستندسازی خواهند شد.
.SS "گزینههای اضافی \f[CR]javadoc\f[R]"
\f[I]توجه:\f[R] گزینههای اضافی برای \f[CR]javadoc\f[R] ممکن است بدون اطلاع قبلی تغییر کنند.
.PP
گزینههای اضافی \f[CR]javadoc\f[R] زیر معادل گزینههای متناظر \f[CR]javac\f[R] هستند.
برای توضیحات دقیق استفاده از این گزینهها، بخش \f[I]گزینههای اضافی\f[R] در \f[B]javac\f[R] را ببینید:
.IP \(bu 2
\f[CR]\-\-add\-exports\f[R]
.IP \(bu 2
\f[CR]\-\-add\-reads\f[R]
.IP \(bu 2
\f[CR]\-\-patch\-module\f[R]
.IP \(bu 2
\f[CR]\-Xmaxerrs\f[R]
.IP \(bu 2
\f[CR]\-Xmaxwarns\f[R]
.SS "گزینههای استاندارد برای داکلت استاندارد (Standard Doclet)"
گزینههای زیر توسط داکلت استاندارد ارائه شدهاند.
.TP
\f[CR]--add-script\f[R] \f[I]file\f[R]
فایل \f[I]file\f[R] را به عنوان یک فایل جاوااسکریپت اضافی به مستندات تولیدشده اضافه میکند.
این گزینه میتواند یک یا چند بار برای تعیین فایلهای اسکریپت اضافی استفاده شود.
.RS
برای مثال:
.IP
.EX
javadoc \-\-add\-script extra.js \-d docs\-out mypackage
.EE
.RE
.TP
\f[CR]--add-stylesheet\f[R] \f[I]file\f[R]
فایل \f[I]file\f[R] را به عنوان یک شیوهنامه (stylesheet) اضافی به مستندات تولیدشده اضافه میکند.
این گزینه میتواند یک یا چند بار برای تعیین فایلهای شیوهنامه اضافی استفاده شود.
.RS
برای مثال:
.IP
.EX
javadoc \-\-add\-stylesheet new_stylesheet_1.css \-\-add\-stylesheet new_stylesheet_2.css \-d docs\-out mypackage
.EE
.RE
.TP
\f[CR]--allow-script-in-comments\f[R]
اجازه استفاده از جاوااسکریپت در کامنتهای مستندسازی و در گزینههایی که مقدار آنها \f[I]html-code\f[R] است.
.TP
\f[CR]-author\f[R]
متن هر تگ \f[CR]author\f[R] را در مستندات تولیدشده شامل میکند.
.TP
\f[CR]-bottom\f[R] \f[I]html-code\f[R]
متنی را که باید در پایین هر صفحه تولیدشده قرار گیرد مشخص میکند.
متن میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت باید در علامت نقلقول قرار گیرد.
در هر تگ HTML از موجودیتهای کاراکتر داخلی برای علامتهای نقلقول استفاده کنید.
.TP
\f[CR]-charset\f[R] \f[I]name\f[R]
مجموعه نویسه (character set) HTML را برای این سند مشخص میکند.
نام باید یک نام ترجیحی MIME باشد همانطور که در \f[B]ثبت IANA، مجموعههای نویسه\f[R]
[http://www.iana.org/assignments/character-sets] مشخص شده است.
.RS
برای مثال:
.IP
.EX
javadoc \-charset \(dqiso\-8859\-1\(dq mypackage
.EE
این دستور خط زیر را در سربرگ هر صفحه تولیدشده درج میکند:
.IP
.EX
.EE
تگ \f[CR]meta\f[R] در \f[B]استاندارد HTML (4197265 و 4137321)، نمایش سند HTML\f[R]
[http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2] شرح داده شده است.
.RE
.TP
\f[CR]-d\f[R] \f[I]directory\f[R]
دایرکتوری مقصدی را مشخص میکند که ابزار \f[CR]javadoc\f[R] فایلهای HTML تولیدشده را در آن ذخیره میکند.
اگر گزینه \f[CR]-d\f[R] را حذف کنید، فایلها در دایرکتوری جاری ذخیره میشوند.
مقدار \f[CR]directory\f[R] میتواند مطلق یا نسبی نسبت به دایرکتوری جاری باشد.
دایرکتوری مقصد هنگام اجرای ابزار \f[CR]javadoc\f[R] بهطور خودکار ایجاد میشود.
.RS
.IP \(bu 2
\f[B]لینوکس و macOS:\f[R] برای مثال، دستور زیر مستندات را برای بسته \f[CR]com.mypackage\f[R] تولید کرده و نتایج را در دایرکتوری \f[CR]/user/doc/\f[R] ذخیره میکند:
.RS 2
.IP
.EX
javadoc \-d /user/doc/ com.mypackage
.EE
.RE
.IP \(bu 2
\f[B]ویندوز:\f[R] برای مثال، دستور زیر مستندات را برای بسته \f[CR]com.mypackage\f[R] تولید کرده و نتایج را در دایرکتوری \f[CR]\(rsuser\(rsdoc\(rs\f[R] ذخیره میکند:
.RS 2
.IP
.EX
javadoc \-d \(rsuser\(rsdoc\(rs com.mypackage
.EE
.RE
.RE
.TP
\f[CR]-docencoding\f[R] \f[I]name\f[R]
کدگذاری فایلهای HTML تولیدشده را مشخص میکند.
نام باید یک نام ترجیحی MIME باشد همانطور که در \f[B]ثبت IANA، مجموعههای نویسه\f[R]
[http://www.iana.org/assignments/character-sets] مشخص شده است.
.RS
سه گزینه برای استفاده در یک اجرای \f[CR]javadoc\f[R] در دسترس است.
گزینه \f[CR]-encoding\f[R] برای کدگذاری فایلهای منبع ورودی استفاده میشود، در حالی که گزینههای \f[CR]-docencoding\f[R] و \f[CR]-charset\f[R] برای کدگذاری فایلهای نوشتهشده توسط ابزار استفاده میشوند.
از سه گزینه موجود، حداکثر یک گزینه کدگذاری ورودی و یک گزینه کدگذاری خروجی استفاده میشود.
اگر هر دو گزینه کدگذاری ورودی و خروجی مشخص شوند، باید مقدار یکسانی داشته باشند.
اگر هیچ گزینه خروجی مشخص نشود، بهطور پیشفرض از کدگذاری ورودی استفاده میشود.
.PP
برای مثال:
.IP
.EX
javadoc \-docencoding \(dqiso\-8859\-1\(dq mypackage
.EE
.RE
.TP
\f[CR]-docfilessubdirs\f[R]
کپی عمیق دایرکتوریهای \f[CR]doc-files\f[R] را فعال میکند.
زیردایرکتوریها و تمام محتویات بهطور بازگشتی در مقصد کپی میشوند.
برای مثال، دایرکتوری \f[CR]doc-files/example/images\f[R] و تمام محتویات آن کپی میشوند.
از گزینه \f[B]\f[CB]-excludedocfilessubdir\f[B]\f[R] برای مستثنی کردن زیردایرکتوریهای خاص استفاده کنید.
.TP
\f[CR]-doctitle\f[R] \f[I]html-code\f[R]
عنوانی را برای قرار دادن در نزدیکی بالای فایل خلاصه نمای کلی (overview summary) مشخص میکند.
متن مشخصشده در تگ \f[CR]title\f[R] به عنوان یک سربرگ سطح اول وسطچین، مستقیماً زیر نوار ناوبری قرار میگیرد.
تگ \f[CR]title\f[R] میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت باید در علامت نقلقول قرار گیرد.
علامتهای نقلقول داخلی باید گریز داده شوند (escaped).
برای مثال:
.IP
.EX
javadoc \-doctitle \(dqMy Library
v1.0\(dq com.mypackage
.EE
.TP
\f[CR]-excludedocfilessubdir\f[R] \f[I]name1\f[R]\f[CR],\f[R]\f[I]name2...\f[R]
هنگام کپی بازگشتی زیردایرکتوریهای \f[CR]doc-files\f[R]، هر زیردایرکتوری با نامهای دادهشده را مستثنی میکند.
بخش \f[B]\f[CB]-docfilessubdirs\f[B]\f[R] را ببینید.
به دلایل تاریخی، \f[CR]:\f[R] میتواند در هر کجای آرگومان به عنوان جداکننده به جای \f[CR],\f[R] استفاده شود.
.TP
\f[CR]-footer\f[R] \f[I]html-code\f[R]
این گزینه دیگر پشتیبانی نمیشود و یک هشدار گزارش میدهد.
.TP
\f[CR]-group\f[R] \f[I]name\f[R] \f[I]g1\f[R]\f[CR],\f[R]\f[I]g2...\f[R]
بستههای مشخصشده، یا ماژولها هنگام مستندسازی کد ماژولار را در صفحه نمای کلی (Overview) با هم گروهبندی میکند.
به دلایل تاریخی، \f[CR]:\f[R] میتواند در هر کجای آرگومان به جای \f[CR],\f[R] به عنوان جداکننده استفاده شود.
.TP
\f[CR]-header\f[R] \f[I]html-code\f[R]
متن سربرگ را برای قرار دادن در بالای هر فایل خروجی مشخص میکند.
سربرگ در سمت راست نوار ناوبری قرار میگیرد.
مقدار \f[CR]header\f[R] میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت باید در علامت نقلقول قرار گیرد.
از نویسههای گریز برای علامتهای نقلقول داخلی در سربرگ استفاده کنید.
برای مثال:
.IP
.EX
javadoc \-header \(dqMy Library
v1.0\(dq com.mypackage
.EE
.TP
\f[CR]-helpfile\f[R] \f[I]filename\f[R]
فایلی حاوی متنی را مشخص میکند که هنگام کلیک روی پیوند \f[B]HELP\f[R] در نوار ناوبری نمایش داده میشود.
اگر این گزینه داده نشود، ابزار \f[CR]javadoc\f[R] یک صفحه پیشفرض ایجاد میکند که مورد استفاده قرار میگیرد.
.TP
\f[CR]-html5\f[R]
این گزینه بیاثر (no-op) است و صرفاً برای سازگاری با گذشته حفظ شده است.
.TP
\f[CR]--javafx\f[R] یا \f[CR]-javafx\f[R]
قابلیت JavaFX را فعال میکند.
اگر کلاسهای کتابخانه JavaFX در مسیر ماژول شناسایی شوند، این گزینه بهطور پیشفرض فعال است.
.TP
\f[CR]-keywords\f[R]
تگهای کلمه کلیدی \f[CR]\f[R] در HTML را برای هر کلاس به فایل تولیدشده اضافه میکند.
این تگها میتوانند به موتورهای جستجویی که به دنبال تگهای \f[CR]\f[R] میگردند در یافتن صفحات کمک کنند.
اکثر موتورهای جستجو که کل اینترنت را جستجو میکنند به تگهای \f[CR]\f[R] نگاه نمیکنند، زیرا صفحات ممکن است از آنها سوءاستفاده کنند.
موتورهای جستجوی ارائهشده توسط شرکتهایی که جستجوهای خود را به وبسایت خود محدود میکنند، میتوانند از بررسی تگهای \f[CR]\f[R] بهرهمند شوند.
تگهای \f[CR]\f[R] شامل نام کاملاً واجد شرایط کلاس و نامهای غیر واجد شرایط فیلدها و متدها هستند.
سازندهها گنجانده نمیشوند زیرا با نام کلاس یکسان هستند.
برای مثال، کلاس \f[CR]String\f[R] با این کلمات کلیدی شروع میشود:
.RS
.IP
.EX
.EE
.RE
.TP
\f[CR]-link\f[R] \f[I]url\f[R]
پیوندهایی به مستندات موجودِ تولیدشده توسط \f[CR]javadoc\f[R] از کلاسهای دارای ارجاع خارجی ایجاد میکند.
آرگومان \f[I]url\f[R] نشانی وب مطلق یا نسبی دایرکتوری حاوی مستندات خارجی تولیدشده با \f[CR]javadoc\f[R] است.
میتوانید چندین گزینه \f[CR]-link\f[R] را در یک اجرای ابزار \f[CR]javadoc\f[R] مشخص کنید تا به چندین سند پیوند داده شود.
.RS
باید یک فایل \f[CR]package-list\f[R] یا \f[CR]element-list\f[R] در این دایرکتوری \f[I]url\f[R] وجود داشته باشد (در غیر این صورت، از گزینه \f[CR]-linkoffline\f[R] استفاده کنید).
.PP
\f[I]توجه:\f[R] فایلهای \f[CR]package-list\f[R] و \f[CR]element-list\f[R] توسط ابزار \f[CR]javadoc\f[R] هنگام تولید مستندات API ایجاد میشوند و نباید توسط کاربر تغییر داده شوند.
.PP
هنگامی که از ابزار \f[CR]javadoc\f[R] برای مستندسازی بستهها استفاده میکنید، از فایل \f[CR]package-list\f[R] برای تعیین بستههای اعلانشده در یک API استفاده میکند.
هنگامی که اسناد API را برای ماژولها تولید میکنید، ابزار \f[CR]javadoc\f[R] از فایل \f[CR]element-list\f[R] برای تعیین ماژولها و بستههای اعلانشده در یک API استفاده میکند.
.PP
ابزار \f[CR]javadoc\f[R] نامها را از فایل فهرست مناسب میخواند و سپس به بستهها یا ماژولها در آن نشانی وب پیوند میدهد.
.PP
هنگامی که ابزار \f[CR]javadoc\f[R] اجرا میشود، مقدار \f[I]url\f[R] در پیوندهای \f[CR]\f[R] ایجادشده کپی میشود.
بنابراین، \f[I]url\f[R] باید نشانی وب دایرکتوری باشد و نه یک فایل.
.PP
میتوانید از پیوند مطلق برای \f[I]url\f[R] استفاده کنید تا اسناد شما بتوانند به سندی در هر وبسایتی پیوند داده شوند، یا میتوانید از پیوند نسبی برای پیوند دادن صرفاً به یک مکان نسبی استفاده کنید.
اگر از پیوند نسبی استفاده میکنید، مقداری که ارسال میکنید باید مسیر نسبی از دایرکتوری مقصد (مشخصشده با گزینه \f[CR]-d\f[R]) به دایرکتوری حاوی بستههای پیوندشده باشد.
هنگامی که یک پیوند مطلق را مشخص میکنید، معمولاً از پیوند HTTP استفاده میکنید.
با این حال، اگر میخواهید به یک فایلسیستم که فاقد وبسرور است پیوند دهید، میتوانید از پیوند فایل استفاده کنید.
تنها زمانی از پیوند فایل استفاده کنید که هر کسی که میخواهد به مستندات تولیدشده دسترسی داشته باشد، همان فایلسیستم را به اشتراک بگذارد.
در همه موارد و در تمام سیستمهای عامل، از اسلش به عنوان جداکننده استفاده کنید، چه URL مطلق باشد یا نسبی.
.IP
.EX
\-link https://///.../
\-link http://///.../
\-link file://///.../
\-link //.../
.EE
.RE
.TP
\f[CR]--link-modularity-mismatch\f[R] (\f[CR]warn\f[R]|\f[CR]info\f[R])
مشخص میکند که آیا مستندات خارجی با ماژولار بودن نادرست (مانند مستندات غیر ماژولار برای یک کتابخانه ماژولار، یا حالت معکوس) باید به عنوان هشدار (\f[CR]warn\f[R]) یا صرفاً یک پیام (\f[CR]info\f[R]) گزارش شوند.
رفتار پیشفرض گزارش یک هشدار است.
.TP
\f[CR]-linkoffline\f[R] \f[I]url1\f[R] \f[I]url2\f[R]
این گزینه گونهای از گزینه \f[CR]-link\f[R] است.
هر دوی آنها پیوندهایی به مستندات تولیدشده \f[CR]javadoc\f[R] برای کلاسهای دارای ارجاع خارجی ایجاد میکنند.
میتوانید چندین گزینه \f[CR]-linkoffline\f[R] را در یک اجرای ابزار \f[CR]javadoc\f[R] مشخص کنید.
.RS
از گزینه \f[CR]-linkoffline\f[R] در موارد زیر استفاده کنید:
.IP \(bu 2
پیوند دادن به سندی در وب که ابزار \f[CR]javadoc\f[R] نمیتواند از طریق اتصال وب به آن دسترسی داشته باشد.
.IP \(bu 2
فایل \f[CR]package-list\f[R] یا \f[CR]element-list\f[R] سند خارجی یا قابل دسترسی نیست یا در مکان URL وجود ندارد، اما در مکان دیگری وجود دارد و میتواند توسط فایل \f[CR]package-list\f[R] یا \f[CR]element-list\f[R] (معمولاً محلی) مشخص شود.
.PP
\f[I]توجه:\f[R] فایلهای \f[CR]package-list\f[R] و \f[CR]element-list\f[R] توسط ابزار \f[CR]javadoc\f[R] هنگام تولید مستندات API ایجاد میشوند و نباید توسط کاربر تغییر داده شوند.
.PP
اگر \f[I]url1\f[R] فقط در شبکه جهانی وب قابل دسترسی باشد، گزینه \f[CR]-linkoffline\f[R] این محدودیت را که ابزار \f[CR]javadoc\f[R] برای تولید مستندات باید اتصال وب داشته باشد برطرف میکند.
.PP
کاربرد دیگر گزینه \f[CR]-linkoffline\f[R] به عنوان یک راه حل موقت برای بهروزرسانی اسناد است.
پس از اجرای ابزار \f[CR]javadoc\f[R] روی مجموعه کاملی از بستهها یا ماژولها، میتوانید ابزار \f[CR]javadoc\f[R] را مجدداً روی مجموعه کوچکتری از بستهها یا ماژولهای تغییریافته اجرا کنید، تا فایلهای بهروزرسانیشده بتوانند دوباره در مجموعه اصلی درج شوند.
.PP
برای مثال، گزینه \f[CR]-linkoffline\f[R] دو آرگومان میگیرد.
اولی برای رشتهای است که باید در پیوندهای \f[CR]\f[R] تعبیه شود، و دومی به ابزار \f[CR]javadoc\f[R] میگوید فایل \f[CR]package-list\f[R] یا \f[CR]element-list\f[R] را کجا پیدا کند.
.PP
مقدار \f[I]url1\f[R] یا \f[I]url2\f[R] نشانی وب مطلق یا نسبی دایرکتوری حاوی مستندات تولیدشده خارجی \f[CR]javadoc\f[R] است که میخواهید به آن پیوند دهید.
در صورت نسبی بودن، مقدار باید مسیر نسبی از دایرکتوری مقصد (مشخصشده با گزینه \f[CR]-d\f[R]) به ریشه بستههای پیوندشده باشد.
بخش \f[I]url\f[R] در گزینه \f[CR]-link\f[R] را ببینید.
.RE
.TP
\f[CR]--link-platform-properties\f[R] \f[I]url\f[R]
یک فایل ویژگیها (properties file) را مشخص میکند که برای پیکربندی پیوندها به مستندات پلتفرم استفاده میشود.
.RS
انتظار میرود آرگومان \f[I]url\f[R] به یک فایل ویژگیها شامل یک یا چند مدخل با قالب زیر اشاره کند، که در آن \f[CR]\f[R] نسخه پلتفرم است همانطور که به گزینه \f[CR]--release\f[R] یا \f[CR]--source\f[R] ارسال شده و \f[CR]\f[R] نشانی وب پایه مستندات API پلتفرم متناظر است:
.IP
.EX
doclet.platform.docs.=
.EE
به عنوان مثال، یک فایل ویژگیها حاوی نشانیهای وب برای نسخههای ۱۵ تا ۱۷ ممکن است شامل خطوط زیر باشد:
.IP
.EX
doclet.platform.docs.15=https://example.com/api/15
doclet.platform.docs.16=https://example.com/api/16
doclet.platform.docs.17=https://example.com/api/17
.EE
اگر فایل ویژگیها حاوی مدخلی برای یک نسخه خاص نباشد، هیچ پیوند پلتفرمی ایجاد نمیشود.
.RE
.TP
\f[CR]-linksource\f[R]
یک نسخه HTML از هر فایل منبع (همراه با شماره خطوط) ایجاد کرده و پیوندهایی به آنها از مستندات استاندارد HTML اضافه میکند.
پیوندها برای کلاسها، رابطها، سازندهها، متدها و فیلدهایی که اعلانهای آنها در یک فایل منبع است ایجاد میشوند.
در غیر این صورت، پیوندها ایجاد نمیشوند، مانند سازندههای پیشفرض و کلاسهای تولیدشده.
.RS
این گزینه تمام جزئیات پیادهسازی خصوصی را در فایلهای منبع گنجاندهشده، شامل کلاسهای خصوصی، فیلدهای خصوصی و بدنه متدهای خصوصی، بدون در نظر گرفتن گزینههای \f[CR]-public\f[R]، \f[CR]-package\f[R]، \f[CR]-protected\f[R] و \f[CR]-private\f[R] نمایش میدهد.
مگر اینکه از گزینه \f[CR]-private\f[R] نیز استفاده کنید، تمام کلاسها یا رابطهای خصوصی از طریق پیوندها قابل دسترسی نیستند.
.PP
هر پیوند روی نام شناسه در اعلان آن ظاهر میشود.
برای مثال، پیوند به کد منبع کلاس \f[CR]Button\f[R] روی کلمه \f[CR]Button\f[R] خواهد بود:
.IP
.EX
public class Button extends Component implements Accessible
.EE
پیوند به کد منبع متد \f[CR]getLabel\f[R] در کلاس \f[CR]Button\f[R] روی کلمه \f[CR]getLabel\f[R] قرار دارد:
.IP
.EX
public String getLabel()
.EE
.RE
.TP
\f[CR]--main-stylesheet\f[R] \f[I]file\f[R] یا \f[CR]-stylesheetfile\f[R] \f[I]file\f[R]
مسیر یک فایل شیوهنامه جایگزین را مشخص میکند که شامل تعاریف سبکهای CSS مورد استفاده در مستندات تولیدشده است.
این گزینه به شما امکان میدهد مقدار پیشفرض را لغو کنید.
اگر این گزینه را مشخص نکنید، ابزار \f[CR]javadoc\f[R] یک شیوهنامه پیشفرض ایجاد کرده و از آن استفاده میکند.
نام فایل میتواند هر نامی باشد و به \f[CR]stylesheet.css\f[R] محدود نمیشود.
گزینه \f[CR]--main-stylesheet\f[R] فرم ترجیحی است.
.RS
مثال خط فرمان:
.IP
.EX
javadoc \-\-main\-stylesheet main_stylesheet.css pkg_foo
.EE
.RE
.TP
\f[CR]-nocomment\f[R]
کل بدنه کامنت، از جمله توضیحات اصلی و همه تگها را سرکوب کرده و فقط اعلانها را تولید میکند.
این گزینه به شما امکان میدهد از فایلهای منبعی که در ابتدا برای هدف دیگری در نظر گرفته شده بودند مجدداً استفاده کنید تا بتوانید در مراحل اولیه یک پروژه جدید، اسکلت مستندات HTML را تولید نمایید.
.TP
\f[CR]-nodeprecated\f[R]
از تولید هرگونه API منسوخشده (deprecated) در مستندات جلوگیری میکند.
این گزینه همان کاری را انجام میدهد که گزینه \f[CR]-nodeprecatedlist\f[R] انجام میدهد، به علاوه در بقیه بخشهای مستندات نیز هیچ API منسوخشدهای تولید نمیکند.
این گزینه هنگام نوشتن کد زمانی که نمیخواهید حواستان با کدهای منسوخشده پرت شود مفید است.
.TP
\f[CR]-nodeprecatedlist\f[R]
از تولید فایلی که حاوی فهرست APIهای منسوخشده است (\f[CR]deprecated-list.html\f[R]) و پیوند موجود در نوار ناوبری به آن صفحه جلوگیری میکند.
ابزار \f[CR]javadoc\f[R] به تولید APIهای منسوخشده در سرتاسر بقیه سند ادامه میدهد.
این گزینه زمانی مفید است که کد منبع شما حاوی هیچ API منسوخشدهای نباشد و بخواهید نوار ناوبری تمیزتری داشته باشید.
.TP
\f[CR]--no-fonts\f[R]
از گنجاندن فایلهای فونت در مستندات تولیدشده جلوگیری میکند.
این گزینه در صورتی که مستندات از یک شیوهنامه سفارشی استفاده کند که فونتهای پیشفرض را به کار نمیبرد مفید است.
.TP
\f[CR]-nohelp\f[R]
پیوند HELP را در نوار ناوبری بالای هر صفحه خروجی حذف میکند.
.TP
\f[CR]-noindex\f[R]
نمایه (index) را از اسناد تولیدشده حذف میکند.
نمایه بهطور پیشفرض تولید میشود.
.TP
\f[CR]-nonavbar\f[R]
از تولید نوار ناوبری، سربرگ و پاورقی که معمولاً در بالا و پایین صفحات تولیدشده یافت میشوند، جلوگیری میکند.
گزینه \f[CR]-nonavbar\f[R] هیچ تأثیری بر گزینه \f[CR]-bottom\f[R] ندارد.
گزینه \f[CR]-nonavbar\f[R] زمانی مفید است که فقط به محتوا علاقهمند هستید و نیازی به ناوبری ندارید، مانند زمانی که فایلها را صرفاً برای چاپ به PostScript یا PDF تبدیل میکنید.
.TP
\f[CR]--no-platform-links\f[R]
از ایجاد پیوند به مستندات پلتفرم جلوگیری میکند.
این پیوندها بهطور پیشفرض تولید میشوند.
.TP
\f[CR]-noqualifier\f[R] \f[I]name1\f[R]\f[CR],\f[R]\f[I]name2...\f[R]
فهرست واجد شرایطکنندهها (qualifiers) را از خروجی حذف میکند.
نام بسته از جاهایی که نام کلاس یا رابط ظاهر میشود حذف میشود.
به دلایل تاریخی، \f[CR]:\f[R] میتواند در هر کجای آرگومان به عنوان جداکننده به جای \f[CR],\f[R] استفاده شود.
.RS
مثال زیر تمام واجد شرایطکنندههای بسته را حذف میکند:
\f[CR]-noqualifier all\f[R].
.PP
مثال زیر واجد شرایطکنندههای بستههای \f[CR]java.lang\f[R] و \f[CR]java.io\f[R] را حذف میکند: \f[CR]-noqualifier java.lang:java.io\f[R].
.PP
مثال زیر واجد شرایطکنندههای بستههایی را که با زیربستههای \f[CR]java\f[R] و \f[CR]com.sun\f[R] شروع میشوند حذف میکند، اما \f[CR]javax\f[R] را حذف نمیکند: \f[CR]-noqualifier java.*:com.sun.*\f[R].
.PP
در جایی که یک واجد شرایطکننده بسته به دلیل رفتار قبلی ظاهر میشود، نام میتواند به شکل مناسب کوتاه شود.
این قاعده بدون در نظر گرفتن اینکه آیا از گزینه \f[CR]-noqualifier\f[R] استفاده شده است یا خیر، اعمال میشود.
.RE
.TP
\f[CR]-nosince\f[R]
بخشهای \f[CR]Since\f[R] مرتبط با تگهای \f[CR]@since\f[R] را از اسناد تولیدشده حذف میکند.
.TP
\f[CR]-notimestamp\f[R]
برچسب زمانی را که در یک کامنت HTML در بالای هر صفحه مخفی شده است، سرکوب میکند.
گزینه \f[CR]-notimestamp\f[R] زمانی مفید است که میخواهید ابزار \f[CR]javadoc\f[R] را روی دو پایگاه کد منبع اجرا کنید و تفاوتهای بین آنها را با \f[CR]diff\f[R] بسنجید، زیرا از ایجاد تفاوت ناشی از برچسبهای زمانی جلوگیری میکند.
برچسب زمانی شامل شماره انتشار ابزار \f[CR]javadoc\f[R] است.
.TP
\f[CR]-notree\f[R]
صفحات سلسلهمراتب کلاس و رابط را از اسناد تولیدشده حذف میکند.
اینها صفحاتی هستند که با استفاده از دکمه Tree در نوار ناوبری به آنها میرسید.
سلسلهمراتب بهطور پیشفرض تولید میشود.
.TP
\f[CR]--override-methods\f[R] (\f[CR]detail\f[R]|\f[CR]summary\f[R])
متدهای بازنویسیشده (overridden) را در بخشهای جزئیات یا خلاصه مستندسازی میکند.
مقدار پیشفرض \f[CR]detail\f[R] است.
.TP
\f[CR]-overview\f[R] \f[I]filename\f[R]
مشخص میکند که ابزار \f[CR]javadoc\f[R] باید متن مستندات نمای کلی را از فایل منبع مشخصشده توسط \f[CR]filename\f[R] بازیابی کند و آن را در صفحه نمای کلی (\f[CR]overview-summary.html\f[R]) قرار دهد.
یک مسیر نسبی مشخصشده با نام فایل، نسبت به دایرکتوری کاری جاری است.
.RS
در حالی که میتوانید از هر نامی که میخواهید برای مقدار \f[CR]filename\f[R] استفاده کنید و آن را در هر کجای مسیر قرار دهید، معمول است که نام آن را \f[CR]overview.html\f[R] بگذارید و آن را در درخت منبع در دایرکتوری حاوی بالاترین دایرکتوریهای بسته قرار دهید.
در این مکان، هنگام مستندسازی بستهها به هیچ مسیری نیاز نیست، زیرا گزینه \f[CR]-sourcepath\f[R] به این فایل اشاره میکند.
.IP \(bu 2
\f[B]لینوکس و macOS:\f[R] برای مثال، اگر درخت منبع برای بسته \f[CR]java.lang\f[R] به صورت \f[CR]src/classes/java/lang/\f[R] باشد، میتوانید فایل نمای کلی را در src/classes/overview.html قرار دهید.
.IP \(bu 2
\f[B]ویندوز:\f[R] برای مثال، اگر درخت منبع برای بسته \f[CR]java.lang\f[R] به صورت \f[CR]src\(rsclasses\(rsjava\(rslang\(rs\f[R] باشد، میتوانید فایل نمای کلی را در \f[CR]src\(rsclasses\(rsoverview.html\f[R] قرار دهید.
.PP
صفحه نمای کلی تنها زمانی ایجاد میشود که دو یا چند نام بسته را به ابزار \f[CR]javadoc\f[R] ارسال کنید.
عنوان صفحه نمای کلی توسط \f[CR]-doctitle\f[R] تنظیم میشود.
.RE
.TP
\f[CR]-serialwarn\f[R]
هشدارهای زمان کامپایل را برای تگهای مفقود \f[CR]@serial\f[R] تولید میکند.
بهطور پیشفرض، Javadoc هیچ هشدار سریالی تولید نمیکند.
از این گزینه برای نمایش هشدارهای سریال استفاده کنید، که به مستندسازی صحیح فیلدهای سریالیشدنی پیشفرض و متدهای \f[CR]writeExternal\f[R] کمک میکند.
.TP
\f[CR]--since\f[R] \f[I]release\f[R](\f[CR],\f[R]\f[I]release\f[R])*
مستندات را برای APIهایی که در \f[I]نسخههای انتشار\f[R] مشخصشده اضافه یا تازه منسوخ شدهاند تولید میکند.
.RS
اگر تگ \f[CR]@since\f[R] در کامنت مستندسازی یک عنصر در کد منبع مستندشده با یک \f[I]نسخه انتشار\f[R] ارسالشده به عنوان آرگومان گزینه مطابقت داشته باشد، اطلاعات مربوط به عنصر و نسخهای که در آن اضافه شده است در صفحه \(dqNew API\(dq گنجانده میشود.
.PP
اگر صفحه \(dqDeprecated API\(dq تولید شود و عنصر \f[CR]since\f[R] از حاشیهنویسی \f[CR]java.lang.Deprecated\f[R] یک عنصر مستندشده با یک \f[I]نسخه انتشار\f[R] در آرگومانهای گزینه مطابقت داشته باشد، اطلاعات مربوط به نسخهای که عنصر در آن منسوخ شده است به صفحه \(dqDeprecated API\(dq اضافه میشود.
.PP
نسخههای انتشار با استفاده از مقایسه رشتهای حساس به حروف بزرگ و کوچک مقایسه میشوند.
.RE
.TP
\f[CR]--since-label\f[R] \f[I]text\f[R]
متن \f[I]text\f[R] مورد استفاده در سربرگ صفحه \(dqNew API\(dq را مشخص میکند.
این ممکن است شامل اطلاعاتی درباره نسخههای پوشش داده شده در صفحه باشد، برای مثال
\(dqNew API in release 2.0\(dq یا \(dqNew API since release 1\(dq.
.TP
\f[CR]--snippet-path\f[R] \f[I]snippetpathlist\f[R]
مسیرهای جستجو را برای یافتن فایلهای قطعات کد (snippets) خارجی مشخص میکند.
مقدار \f[I]snippetpathlist\f[R] میتواند شامل چندین مسیر باشد که با جداکننده مسیر پلتفرم (\f[CR];\f[R] در ویندوز؛ \f[CR]:\f[R] در سایر پلتفرمها) از هم جدا شدهاند.
داکلت استاندارد ابتدا زیردایرکتوری \f[CR]snippet-files\f[R] را در بسته حاوی قطعه کد جستجو میکند و سپس تمام دایرکتوریهای موجود در فهرست دادهشده را جستجو مینماید.
.TP
\f[CR]-sourcetab\f[R] \f[I]tab-length\f[R]
تعداد فاصلههایی را که هر تب در منبع اشغال میکند مشخص میسازد.
.TP
\f[CR]--spec-base-url\f[R] \f[I]url\f[R]
نشانی وب پایه را برای نشانیهای وب نسبی در تگهای \f[CR]@spec\f[R] مشخص میکند، تا هنگام تولید پیوندها به هرگونه مشخصات خارجی استفاده شود.
این مقدار میتواند یک URL مطلق یا یک URL نسبی باشد، که در این حالت نسبت به دایرکتوری پایه فایلهای خروجی تولیدشده ارزیابی میشود.
مقدار پیشفرض معادل \f[CR]{@docRoot}/../specs\f[R] است.
.TP
\f[CR]-splitindex\f[R]
فایل نمایه را به چندین فایل به صورت الفبایی تقسیم میکند، یک فایل برای هر حرف، به علاوه یک فایل برای مدخلهای نمایهای که با نمادهای غیر الفبایی شروع میشوند.
.TP
\f[CR]--syntax-highlight\f[R]
برجستهسازی نحو (syntax highlighting) را برای قطعات کد در تگهای \f[CR]{@snippet}\f[R] و عناصر \f[CR]\f[R] فعال میکند.
برای snippetها، ویژگی \f[CR]lang\f[R] برای تعیین زبان قطعه کد استفاده میشود، که برای snippetهای درونخطی بهطور پیشفرض \(dqjava\(dq است و برای snippetهای خارجی از پسوند فایل به دست میآید.
در تگهای HTML \f[CR]\f[R]، ویژگی \f[CR]class\f[R] میتواند برای تعیین زبان قطعه کد به کار رود، همانطور که در زیر نشان داده شده است:
.RS
.IP
.EX
...
.EE
اگر هیچیک از این ویژگیها موجود نباشد، تشخیص خودکار زبان اعمال میشود.
برای غیرفعال کردن برجستهسازی نحو برای یک قطعه کد، زبان را با استفاده از یکی از سازوکارهای شرحدادهشده در بالا روی \(dqtext\(dq تنظیم کنید.
زبانها و قالبهای پشتیبانیشده توسط این گزینه عبارتند از: Java، Properties، JSON، HTML و XML.
.RE
.TP
\f[CR]-tag\f[R] \f[I]name\f[R]:\f[I]locations\f[R]:\f[I]header\f[R]
تگهای سفارشی تکآرگومانی را مشخص میکند.
برای اینکه ابزار \f[CR]javadoc\f[R] املای نام تگها را بررسی کند، مهم است که برای هر تگ سفارشی موجود در کد منبع یک گزینه \f[CR]-tag\f[R] قرار دهید و تگهایی را که در اجرای فعلی خروجی داده نمیشوند (با \f[CR]X\f[R]) غیرفعال کنید.
دونقطه (\f[CR]:\f[R]) همیشه جداکننده است.
برای گنجاندن دونقطه در نام تگ، آن را با یک بکاسلش (\f[CR]\(rs\f[R]) اسکیپ کنید.
گزینه \f[CR]-tag\f[R] عنوان تگ، یعنی \f[I]header\f[R] را به صورت پررنگ (bold) در خروجی نمایش میدهد و در خط بعدی متن ناشی از تکآرگومان آن قرار میگیرد.
مشابه هر تگ بلوکی، متن آرگومان میتواند حاوی تگهای درونخطی (inline) باشد که آنها نیز تفسیر میشوند.
خروجی شبیه به تگهای تکآرگومانی استاندارد مانند تگهای \f[CR]@return\f[R] و \f[CR]@author\f[R] است.
حذف مقدار \f[I]header\f[R] باعث میشود که \f[I]name\f[R] به عنوان عنوان در نظر گرفته شود.
مقدار \f[I]locations\f[R] فهرستی از نویسهها است که انواع اعلانهایی را که تگ میتواند در آنها استفاده شود مشخص میکند.
نویسههای زیر را میتوان به صورت حروف بزرگ یا کوچک استفاده کرد:
.RS
.IP \(bu 2
\f[CR]A\f[R]: تمام اعلانها
.IP \(bu 2
\f[CR]C\f[R]: سازندهها
.IP \(bu 2
\f[CR]F\f[R]: فیلدها
.IP \(bu 2
\f[CR]M\f[R]: متدها
.IP \(bu 2
\f[CR]O\f[R]: صفحه نمای کلی و سایر فایلهای مستندات در زیردایرکتوریهای \f[CR]doc-files\f[R]
.IP \(bu 2
\f[CR]P\f[R]: بستهها
.IP \(bu 2
\f[CR]S\f[R]: ماژولها
.IP \(bu 2
\f[CR]T\f[R]: نوعها (کلاسها و رابطها)
.IP \(bu 2
\f[CR]X\f[R]: هیچکجا: تگ غیرفعال است و نادیده گرفته میشود
.PP
ترتیبی که تگها در خط فرمان داده میشوند به عنوان ترتیبی که تگها در خروجی تولیدشده ظاهر میشوند استفاده خواهد شد.
میتوانید تگهای استاندارد را به ترتیبی که در خط فرمان داده شده است با استفاده از گزینه \f[CR]-tag\f[R] بدون \f[I]locations\f[R] یا \f[I]header\f[R] شامل کنید.
.RE
.TP
\f[CR]-taglet\f[R] \f[I]class\f[R]
نام کاملاً واجد شرایط تگلتی را که در تولید مستندات برای آن تگ استفاده میشود مشخص میکند.
از نام کاملاً واجد شرایط برای مقدار \f[I]class\f[R] استفاده کنید.
این تگلت همچنین تعداد آرگومانهای متنی را که تگ سفارشی دارد تعریف میکند.
تگلت آن آرگومانها را میپذیرد، آنها را پردازش میکند و خروجی را تولید مینماید.
.RS
تگلتها برای تگهای بلوکی یا درونخطی مفید هستند.
آنها میتوانند هر تعداد آرگومان داشته باشند و رفتارهای سفارشی را پیادهسازی کنند، مانند پررنگ کردن متن، قالببندی نقطهها، نوشتن متن در یک فایل، یا راهاندازی فرآیندهای دیگر.
تگلتها فقط میتوانند تعیین کنند که یک تگ در کجا و به چه شکلی ظاهر شود.
تمام تصمیمات دیگر توسط داکلت گرفته میشود.
یک تگلت نمیتواند کارهایی مانند حذف نام کلاس از فهرست کلاسهای گنجاندهشده را انجام دهد.
با این حال، میتواند اثرات جانبی مانند چاپ متن تگ در یک فایل یا راهاندازی فرآیند دیگری را اجرا کند.
از گزینه \f[CR]-tagletpath\f[R] برای مشخص کردن مسیر تگلت استفاده کنید.
مثال زیر تگلت To Do را بعد از Parameters و جلوتر از Throws در صفحات تولیدشده درج میکند:
.IP
.EX
\-taglet com.sun.tools.doclets.ToDoTaglet
\-tagletpath /home/taglets
\-tag return
\-tag param
\-tag todo
\-tag throws
\-tag see
.EE
به صورت متناوب، میتوانید از گزینه \f[CR]-taglet\f[R] به جای گزینه \f[CR]-tag\f[R] آن استفاده کنید، اما خواندن آن ممکن است دشوار باشد.
.RE
.TP
\f[CR]-tagletpath\f[R] \f[I]tagletpathlist\f[R]
مسیرهای جستجو را برای یافتن فایلهای کلاس تگلت مشخص میکند.
مقدار \f[I]tagletpathlist\f[R] میتواند شامل چندین مسیر با جدا کردن آنها با جداکننده مسیر پلتفرم باشد (\f[CR];\f[R] در ویندوز؛ \f[CR]:\f[R] در سایر پلتفرمها).
ابزار \f[CR]javadoc\f[R] تمام زیردایرکتوریهای مسیرهای مشخصشده را جستجو میکند.
.TP
\f[CR]-top\f[R] \f[I]html-code\f[R]
متنی را برای قرار دادن در بالای هر فایل خروجی مشخص میکند.
.TP
\f[CR]-use\f[R]
صفحات استفاده (use) از کلاس و بسته را ایجاد میکند.
شامل یک صفحه Use برای هر کلاس و بسته مستندشده است.
این صفحه توصیف میکند چه بستهها، کلاسها، متدها، سازندهها و فیلدهایی از هر API کلاس یا بسته مشخصشده استفاده میکنند.
برای کلاس مفروض C، مواردی که از کلاس C استفاده میکنند شامل زیرکلاسهای C، فیلدهای اعلانشده به عنوان C، متدهایی که C را برمیگردانند، و متدها و سازندههایی با پارامترهایی از نوع C هستند.
برای مثال، میتوانید به صفحه Use برای نوع \f[CR]String\f[R] نگاه کنید.
از آنجا که متد \f[CR]getName\f[R] در کلاس \f[CR]java.awt.Font\f[R] نوع \f[CR]String\f[R] را برمیگرداند، متد \f[CR]getName\f[R] از \f[CR]String\f[R] استفاده میکند و بنابراین متد \f[CR]getName\f[R] در صفحه Use برای \f[CR]String\f[R] ظاهر میشود.
این گزینه فقط استفاده از API را مستند میکند، نه پیادهسازی را.
هنگامی که یک متد از \f[CR]String\f[R] در پیادهسازی خود استفاده میکند، اما یک رشته را به عنوان آرگومان نمیگیرد یا رشتهای را برنمیگرداند، این به عنوان استفاده از \f[CR]String\f[R] در نظر گرفته نمیشود. برای دسترسی به صفحه تولیدشده Use، به کلاس یا بسته بروید و روی پیوند Use در نوار ناوبری کلیک کنید.
.TP
\f[CR]-version\f[R]
متن نسخه را در اسناد تولیدشده شامل میکند.
این متن بهطور پیشفرض حذف شده است.
برای فهمیدن اینکه از چه نسخهای از ابزار \f[CR]javadoc\f[R] استفاده میکنید، از گزینه \f[CR]-J-version\f[R] استفاده نمایید.
.TP
\f[CR]-windowtitle\f[R] \f[I]title\f[R]
عنوانی را برای قرار دادن در تگ HTML \f[CR]\f[R] مشخص میکند.
متن مشخصشده در تگ \f[CR]title\f[R] در عنوان پنجره و در هر بوکمارک مرورگری (مکانهای مورد علاقه) که شخصی برای این صفحه ایجاد میکند ظاهر میشود.
این عنوان نباید حاوی هیچ تگ HTML باشد زیرا مرورگر آنها را به درستی تفسیر نمیکند.
برای هر علامت نقلقول داخلی در تگ \f[CR]title\f[R] از نویسههای گریز استفاده کنید.
اگر گزینه \f[CR]-windowtitle\f[R] حذف شود، ابزار \f[CR]javadoc\f[R] از مقدار گزینه \f[CR]-doctitle\f[R] برای گزینه \f[CR]-windowtitle\f[R] استفاده میکند.
برای مثال:
.IP
.EX
javadoc \-windowtitle \(dqMy Library\(dq com.mypackage
.EE
.SS "گزینههای اضافی برای داکلت استاندارد (Standard Doclet)"
موارد زیر گزینههای اضافی ارائهشده توسط داکلت استاندارد هستند و بدون اطلاع قبلی ممکن است تغییر کنند.
گزینههای اضافی کمتر مورد استفاده قرار میگیرند یا پیشرفته تلقی میشوند.
.TP
\f[CR]\-\-date\f[R] \f[I]date\-and\-time\f[R]
مقداری را برای برچسب زمانی صفحات تولیدشده، در قالب \f[B]ISO 8601\f[R]
[https://www.iso.org/iso\-8601\-date\-and\-time\-format.html] مشخص میکند.
مقدار مشخصشده باید در بازه ۱۰ سال از تاریخ و زمان فعلی باشد.
مشخص کردن همزمان هر دو گزینه \f[CR]\-notimestamp\f[R] و \f[CR]\-\-date\f[R] یک خطا است.
استفاده از یک مقدار خاص به این معنی است که مستندات تولیدشده میتوانند بخشی از یک \f[B]ساخت تکرارپذیر (reproducible build)\f[R] [https://reproducible\-builds.org] باشند.
اگر این گزینه داده نشود، مقدار پیشفرض تاریخ و زمان فعلی است.
برای مثال:
.RS
.IP
.EX
javadoc \-\-date 2022\-02\-01T17:41:59\-08:00 mypackage
.EE
.RE
.TP
\f[CR]\-\-legal\-notices\f[R] (\f[CR]default\f[R]|\f[CR]none\f[R]|\f[I]directory\f[R])
مکانی را مشخص میکند که فایلهای حقوقی و قانونی از آنجا به مستندات تولیدشده کپی شوند.
اگر گزینه مشخص نشده باشد یا با مقدار \f[CR]default\f[R] استفاده شود، فایلها از مکان پیشفرض کپی میشوند.
اگر آرگومان با مقدار \f[CR]none\f[R] استفاده شود، هیچ فایلی کپی نمیشود.
هر آرگومان دیگر به عنوان دایرکتوری در نظر گرفته میشود که فایلهای حقوقی باید از آن کپی شوند.
.TP
\f[CR]\-\-no\-frames\f[R]
این گزینه دیگر پشتیبانی نمیشود و یک هشدار گزارش میدهد.
.TP
\f[CR]\-Xdoclint\f[R]
بررسیهای توصیهشده را برای مشکلات موجود در کامنتهای مستندسازی فعال میکند.
.RS
بهطور پیشفرض، گزینه \f[CR]\-Xdoclint\f[R] فعال است.
آن را با گزینه \f[CR]\-Xdoclint:none\f[R] غیرفعال کنید.
برای جزئیات بیشتر، بخش \f[B]DocLint\f[R] را ببینید.
.RE
.TP
\f[CR]\-Xdoclint:\f[R]\f[I]flag\f[R],\f[I]flag\f[R],...
بررسیهای خاص را برای انواع مختلف مشکلات در کامنتهای مستندسازی فعال یا غیرفعال میکند.
.RS
هر \f[I]flag\f[R] میتواند یکی از مقادیر \f[CR]all\f[R]، \f[CR]none\f[R]، یا \f[CR][\-]\f[R]\f[I]group\f[R] باشد که در آن \f[I]group\f[R] یکی از مقادیر زیر را دارد: \f[CR]accessibility\f[R]، \f[CR]html\f[R]، \f[CR]missing\f[R]، \f[CR]reference\f[R]، \f[CR]syntax\f[R].
برای جزئیات بیشتر در مورد این مقادیر، بخش \f[B]گروههای DocLint\f[R] را ببینید.
هنگام مشخص کردن دو یا چند فلگ، میتوانید از یک گزینه واحد \f[CR]\-Xdoclint:...\f[R] استفاده کنید و تمام فلگهای مورد نظر را فهرست نمایید، یا میتوانید از چندین گزینه استفاده کنید که در هر گزینه یک یا چند فلگ قید شده باشد.
برای مثال، از هر یک از دستورات زیر برای بررسی مشکلات HTML، نحو و دسترسیپذیری در فایل \f[CR]MyFile.java\f[R] استفاده کنید:
.IP
.EX
javadoc \-Xdoclint:html \-Xdoclint:syntax \-Xdoclint:accessibility MyFile.java
javadoc \-Xdoclint:html,syntax,accessibility MyFile.java
.EE
مثالهای زیر نحوه تغییر مواردی را که DocLint گزارش میدهد نشان میدهند:
.IP \(bu 2
\f[CR]\-Xdoclint:none\f[R] \-\-\- تمام بررسیها را غیرفعال میکند
.IP \(bu 2
\f[CR]\-Xdoclint:\f[R]\f[I]group\f[R] \-\-\- بررسیهای \f[I]group\f[R] را فعال میکند
.IP \(bu 2
\f[CR]\-Xdoclint:all\f[R] \-\-\- تمام گروههای بررسی را فعال میکند
.IP \(bu 2
\f[CR]\-Xdoclint:all,\-\f[R]\f[I]group\f[R] \-\-\- تمام بررسیها به جز بررسیهای \f[I]group\f[R] را فعال میکند
برای جزئیات بیشتر، بخش \f[B]DocLint\f[R] را ببینید.
.RE
.TP
\f[CR]\-Xdoclint/package:\f[R][\f[CR]\-\f[R]]\f[I]packages\f[R]
بررسیها را در بستههای خاص فعال یا غیرفعال میکند.
مقدار \f[I]packages\f[R] فهرستی از مشخصکنندههای بسته است که با کاما از هم جدا شدهاند.
یک مشخصکننده بسته یا یک نام واجد شرایط از یک بسته است یا یک پیشوند نام بسته که به دنبال آن \f[CR]*\f[R] میآید، که به تمام زیربستههای بسته دادهشده گسترش مییابد.
پیشوند مشخصکننده بسته را با \f[CR]\-\f[R] قرار دهید تا بررسیها برای بستههای مشخصشده غیرفعال شوند.
.RS
برای جزئیات بیشتر، بخش \f[B]DocLint\f[R] را ببینید.
.RE
.TP
\f[CR]\-Xdocrootparent\f[R] \f[I]url\f[R]
تمام موارد \f[CR]\(atdocRoot\f[R] را که با \f[CR]/..\f[R] در کامنتهای مستندسازی دنبال میشوند با \f[I]url\f[R] جایگزین میکند.
.SH "داکلینت (DOCLINT)"
ابزار DocLint قابلیت بررسی مشکلات احتمالی در کامنتهای مستندسازی را فراهم میکند.
مشکلات ممکن است بسته به شدت آنها به صورت هشدار یا خطا گزارش شوند.
برای مثال، کامنت گمشده ممکن است سبک بدی باشد که مستحق هشدار است، اما پیوند به یک اعلان ناشناخته جاوا جدیتر است و سزاوار خطا است.
مشکلات در \f[B]گروهها\f[R] سازماندهی شدهاند، و گزینهها میتوانند برای فعال یا غیرفعال کردن پیامها در یک یا چند گروه استفاده شوند.
در کد منبع، پیامهای یک یا چند گروه را میتوان با استفاده از حاشیهنویسیهای \f[CR]\(atSuppressWarnings\f[R] \f[B]بیصدا (suppress)\f[R] کرد.
.PP
هنگامی که از \f[CR]javadoc\f[R] فراخوانی میشود، بهطور پیشفرض DocLint تمام کامنتهایی را که در مستندات تولیدشده استفاده میشوند بررسی میکند.
بنابراین برای تعیین اینکه کدام اعلانها و کامنتهای مستندسازی متناظر گنجانده خواهند شد، به سایر گزینههای خط فرمان متکی است.
\f[I]توجه:\f[R] این ممکن است به این معنی باشد که حتی کامنتهای مربوط به برخی از اعضای خصوصی کلاسهای سریالیشدنی نیز در صورتی که اعضا نیاز به مستندسازی در صفحه \f[CR]Serialized Forms\f[R] تولیدشده داشته باشند، بررسی خواهند شد.
.PP
در مقابل، هنگامی که DocLint از \f[CR]javac\f[R] فراخوانی میشود، DocLint صرفاً به گزینههای مختلف \f[CR]\-Xdoclint...\f[R] متکی است تا تعیین کند کدام کامنتهای مستندسازی را بررسی کند.
.PP
ابزار DocLint تلاشی برای اصلاح ورودی نامعتبر نمیکند، فقط آن را گزارش میدهد.
.PP
\f[I]توجه:\f[R] ابزار DocLint کامل بودن این بررسیها را تضمین نمیکند.
بهویژه، این یک بررسیکننده کامل انطباق HTML نیست.
هدف صرفاً گزارش خطاهای رایج به روشی مناسب است.
.SS "گروهها (Groups)"
بررسیهای انجامشده توسط DocLint در گروههایی سازماندهی شدهاند.
هشدارها و خطاهای هر گروه را میتوان با گزینههای خط فرمان فعال یا غیرفعال کرد، یا با حاشیهنویسیهای \f[CR]\(atSuppressWarnings\f[R] بیصدا نمود.
.PP
گروهها به شرح زیر هستند:
.IP \(bu 2
\f[CR]accessibility\f[R] \-\-\- مشکلات مربوط به دسترسپذیری را بررسی میکند.
برای مثال، صفت \f[CR]alt\f[R] در عنصر \f[CR]
\f[R] مشخص نشده باشد، یا صفتهای عنوان یا خلاصه در عنصر \f[CR]\f[R] مشخص نشده باشند.
.RS 2
.PP
اگر انتظار برود که یک ابزار اعتبارسنجی پاییندستی در فایلهای تولیدشده توسط \f[CR]javadoc\f[R] خطایی گزارش دهد، مشکلات به عنوان خطا گزارش میشوند.
.PP
برای مرجع، \f[B]راهنمای دسترسی به محتوای وب (WCAG)\f[R]
[https://www.w3.org/WAI/standards\-guidelines/wcag] را ببینید.
.RE
.IP \(bu 2
\f[CR]html\f[R] \-\-\- مشکلات رایج سطح بالای HTML را شناسایی میکند.
برای مثال، قرار دادن عناصر بلوکی درون عناصر درونخطی، یا نبستن عناصری که به تگ پایانی نیاز دارند.
.RS 2
.PP
اگر انتظار برود که یک ابزار اعتبارسنجی پاییندستی در فایلهای تولیدشده توسط \f[CR]javadoc\f[R] خطایی گزارش دهد، مشکلات به عنوان خطا گزارش میشوند.
.PP
برای مرجع، \f[B]استاندارد زنده HTML\f[R]
[https://html.spec.whatwg.org/multipage] را ببینید.
.RE
.IP \(bu 2
\f[CR]missing\f[R] \-\-\- کامنتها یا تگهای مستندسازی مفقود را بررسی میکند.
برای مثال، کامنت مفقود در اعلان یک کلاس، یا تگ مفقود \f[CR]\(atparam\f[R] یا \f[CR]\(atreturn\f[R] در کامنت برای اعلان یک متد.
.RS 2
.PP
مشکلات مربوط به موارد مفقود معمولاً به عنوان هشدار گزارش میشوند زیرا بعید است توسط ابزارهای اعتبارسنجی پاییندستی که ممکن است برای بررسی خروجی تولیدشده توسط \f[CR]javadoc\f[R] استفاده شوند، به عنوان خطا گزارش شوند.
.RE
.IP \(bu 2
\f[CR]reference\f[R] \-\-\- مشکلات مربوط به ارجاعات به عناصر Java API از تگهای کامنت مستندسازی را بررسی میکند.
برای مثال، ارجاع در \f[CR]\(atsee\f[R] یا \f[CR]{\(atlink ...}\f[R] یافت نمیشود، یا نام نامناسبی برای \f[CR]\(atparam\f[R] یا \f[CR]\(atthrows\f[R] داده شده است.
.RS 2
.PP
مشکلات معمولاً به عنوان خطا گزارش میشوند زیرا اگرچه ممکن است این مشکل باعث ایجاد نقص در فایلهای تولیدشده نشود، اما نویسنده احتمالاً مرتکب اشتباهی شده است که منجر به مستندات نادرست یا غیرمنتظره خواهد شد.
.RE
.IP \(bu 2
\f[CR]syntax\f[R] \-\-\- مشکلات نحوی سطح پایین در کامنتهای مستندسازی را بررسی میکند.
برای مثال، براکتهای زاویهدار اسکیپنشده (\f[CR]<\f[R] و \f[CR]>\f[R]) و علامتهای آمپرسند (\f[CR]&\f[R]) و تگهای نامعتبر کامنت مستندسازی.
.RS 2
.PP
مشکلات معمولاً به عنوان خطا گزارش میشوند زیرا ممکن است منجر به مستندات نادرست یا غیرمنتظره شوند.
.RE
.SS "بیصدا کردن پیامها (Suppressing Messages)"
ابزار DocLint دو رشته را که ممکن است در آرگومانهای حاشیهنویسی \f[CR]\(atSuppressWarnings\f[R] وجود داشته باشند بررسی کرده و تشخیص میدهد:
.IP \(bu 2
\f[CR]doclint\f[R]
.IP \(bu 2
\f[CR]doclint:\f[R]\f[I]LIST\f[R]
.PP
که در آن \f[I]LIST\f[R] یک فهرست جداشده با کاما از یک یا چند مورد از \f[CR]accessibility\f[R]، \f[CR]html\f[R]، \f[CR]missing\f[R]، \f[CR]reference\f[R] و \f[CR]syntax\f[R] است.
.PP
نامهای موجود در \f[I]LIST\f[R] همان نامهای \f[B]گروه\f[R] هستند که توسط گزینه خط فرمان \f[CR]\-Xdoclint\f[R] برای \f[CR]javac\f[R] و \f[CR]javadoc\f[R] پشتیبانی میشوند.
(این همان قراردادی است که توسط گزینه \f[CR]\-Xlint\f[R] در \f[CR]javac\f[R] و نامهای متناظر پشتیبانیشده توسط \f[CR]\(atSuppressWarnings\f[R] رعایت میشود).
.PP
نامهای موجود در \f[I]LIST\f[R] را میتوان به طور معادل در آرگومانهای جداگانه حاشیهنویسی مشخص کرد.
برای مثال، موارد زیر معادل هستند:
.IP \(bu 2
\f[CR]\(atSuppressWarnings(\(dqdoclint:accessibility,missing\(dq)\f[R]
.IP \(bu 2
\f[CR]\(atSuppressWarnings(\(dqdoclint:accessibility\(dq, \(dqdoclint:missing\(dq)\f[R]
.PP
هنگامی که DocLint مشکلی را در یک کامنت مستندسازی تشخیص میدهد، وجود \f[CR]\(atSuppressWarnings\f[R] را روی اعلان مربوطه و روی تمام اعلانهای محصورکننده از نظر لغوی بررسی میکند.
اگر چنین حاشیهنویسی حاوی رشته ساده \f[CR]doclint\f[R] یا فرم طولانیتر \f[CR]doclint:LIST\f[R] (که در آن \f[I]LIST\f[R] حاوی نام گروه مربوط به آن مشکل است) یافت شود، مشکل نادیده گرفته خواهد شد.
.PP
\f[I]توجه:\f[R] مانند سایر کاربردهای \f[CR]\(atSuppressWarnings\f[R]، استفاده از این حاشیهنویسی روی اعلان یک ماژول یا بسته فقط بر همان اعلان تأثیر میگذارد؛ بر محتویات ماژول یا بسته در سایر فایلهای منبع تأثیری ندارد.
.PP
تمام پیامهای مربوط به یک مشکل با وجود یک حاشیهنویسی مناسب \f[CR]\(atSuppressWarnings\f[R] سرکوب میشوند: این شامل خطاها و همچنین هشدارها میشود.
.PP
\f[I]توجه:\f[R] فقط امکان \f[I]بیصدا کردن (suppress)\f[R] پیامها وجود دارد.
اگر حاشیهنویسی \f[CR]\(atSuppressWarnings(\(dqdoclint\(dq)\f[R] روی یک اعلان سطح بالا داده شود، تمام پیامهای DocLint برای آن اعلان و هر اعلان محصور در آن سرکوب خواهند شد؛ فعالسازی مجدد انتخابی پیامها برای مشکلات موجود در اعلانهای محصور امکانپذیر نیست.
.SS "مقایسه با ابزارهای اعتبارسنجی پاییندستی"
ابزار DocLint یک ابزار کاربردی ساختهشده در \f[CR]javac\f[R] و \f[CR]javadoc\f[R] است که محتوای کامنتهای مستندسازی را همانطور که در فایلهای منبع یافت میشوند بررسی میکند.
در مقابل، ابزارهای اعتبارسنجی پاییندستی میتوانند برای اعتبارسنجی خروجی تولیدشده از آن کامنتهای مستندسازی توسط \f[CR]javadoc\f[R] و داکلت استاندارد استفاده شوند.
.PP
اگرچه همپوشانیهایی در عملکرد وجود دارد، اما این دو مکانیسم متفاوت هستند و هر کدام نقاط قوت و ضعف خاص خود را دارند.
.IP \(bu 2
ابزارهای اعتبارسنجی پاییندستی میتوانند نتیجه نهایی هرگونه مستندات تولیدشده را همانطور که توسط کاربر نهایی دیده میشود بررسی کنند.
این شامل محتوای تمام منابع، از جمله کامنتهای مستندسازی، خود داکلت استاندارد، تگلتهای ارائهشده توسط کاربر، و محتوای ارائهشده از طریق گزینههای خط فرمان است.
از آنجا که چنین ابزارهایی صفحات کامل HTML را تجزیه و تحلیل میکنند، میتوانند بررسیهای کاملتری نسبت به DocLint انجام دهند.
با این حال، هنگامی که مشکلی در صفحات تولیدشده یافت میشود، ردیابی دقیق اینکه مشکل در کجای خط لوله ساخت باید برطرف شود، میتواند دشوارتر باشد.
.IP \(bu 2
ابزار DocLint محتوای کامنتهای مستندسازی را در فایلهای منبع بررسی میکند.
این امر شناسایی موقعیت دقیق هرگونه مشکل احتمالی را بسیار آسان میکند.
ابزار DocLint همچنین میتواند برخی از خطاهای معنایی را در کامنتهای مستندسازی که ابزارهای پاییندستی قادر به تشخیص آنها نیستند شناسایی کند، مانند کامنتهای مفقود، استفاده از تگ \f[CR]\(atreturn\f[R] در متدی که \f[CR]void\f[R] برمیگرداند، یا تگ \f[CR]\(atparam\f[R] که یک پارامتر ناموجود را توصیف میکند.
اما بر حسب ماهیت خود، DocLint نمیتواند مشکلاتی مانند پیوندهای مفقود، خطاها در تگلتهای سفارشی ارائهشده توسط کاربر، یا مشکلات درون خود داکلت استاندارد را گزارش کند.
همچنین نمیتواند خطاها را در کامنتهای مستندسازی در مرزهای بین محتوای موجود در یک کامنت مستندسازی و محتوای تولیدشده توسط یک تگلت سفارشی به طور قابل اعتمادی شناسایی نماید.