| JAVADOC(1) | JDK Commands | JAVADOC(1) |
نام (NAME)
javadoc - ابزار تولید صفحات HTML مستندات API از فایلهای منبع جاوا (نسخه ۲۱)
خلاصه دستور (SYNOPSIS)
javadoc [گزینهها] [نامهای_بسته] [فایلهای_منبع] [@فایلها]
- گزینهها (options)
- گزینههای خط فرمان را مشخص میکند که با فاصله از هم جدا میشوند. بخشهای گزینههای استاندارد javadoc، گزینههای اضافی javadoc، گزینههای استاندارد برای داکلت استاندارد، و گزینههای اضافی برای داکلت استاندارد را ببینید.
- نامهای_بسته (packagenames)
- نام بستههایی را که میخواهید مستندسازی کنید مشخص میکند که با فاصله از هم جدا شدهاند، برای مثال java.lang java.lang.reflect java.awt. اگر میخواهید زیربستهها را نیز مستندسازی کنید، از گزینه -subpackages برای مشخص کردن بستهها استفاده کنید.
بهطور پیشفرض، javadoc به دنبال بستههای مشخصشده در دایرکتوری جاری و زیردایرکتوریهای آن میگردد. از گزینه -sourcepath برای مشخص کردن فهرست دایرکتوریهای محل جستجوی بستهها استفاده کنید.
- فایلهای_منبع (sourcefiles)
- نام فایلهای منبع جاوا را که میخواهید مستندسازی کنید مشخص میکند که با فاصله از هم جدا شدهاند، برای مثال Class.java Object.java Button.java. بهطور پیشفرض، javadoc به دنبال کلاسهای مشخصشده در دایرکتوری جاری میگردد. با این حال، میتوانید مسیر کامل فایل کلاس را مشخص کرده و از نویسههای عام (wildcard) استفاده کنید، برای مثال /home/src/java/awt/Graphics*.java. همچنین میتوانید مسیر را نسبت به دایرکتوری جاری مشخص کنید.
- @فایلها (files)
- نام فایلهایی را مشخص میکند که شامل فهرستی از گزینههای ابزار javadoc، نام بستهها و نام فایلهای منبع به هر ترتیبی هستند.
توضیحات (DESCRIPTION)
ابزار javadoc اعلانها و کامنتهای مستندسازی را در مجموعهای از فایلهای منبع جاوا تجزیه کرده و صفحات HTML متناظری تولید میکند که (بهطور پیشفرض) کلاسهای عمومی و محافظتشده، کلاسهای تو در تو و بینام (اما نه کلاسهای داخلی ناشناس)، رابطها، سازندهها، متدها و فیلدها را توصیف میکنند. میتوانید از ابزار javadoc برای تولید مستندات API یا مستندات پیادهسازی برای مجموعهای از فایلهای منبع استفاده کنید.
میتوانید ابزار javadoc را روی کل بستهها، فایلهای منبع منفرد، یا هر دو اجرا کنید. هنگام مستندسازی کل بستهها، میتوانید از گزینه -subpackages یا برای پیمایش بازگشتی یک دایرکتوری و زیردایرکتوریهای آن، یا برای ارسال فهرستی صریح از نامهای بسته استفاده کنید. هنگامی که فایلهای منبع منفرد را مستندسازی میکنید، فهرستی از نامهای فایل منبع جاوا را ارسال کنید.
انطباق و سازگاری (Conformance)
داکلت استاندارد (Standard Doclet) محتوای کامنتهای مستندسازی را برای انطباق اعتبارسنجی نمیکند و تلاشی برای تصحیح خطاهای موجود در کامنتهای مستندسازی انجام نمیدهد. به هر کسی که javadoc را اجرا میکند توصیه میشود از مشکلاتی که ممکن است هنگام تولید خروجی ناسازگار یا خروجی حاوی محتوای اجرایی مانند جاوااسکریپت رخ دهد آگاه باشد. داکلت استاندارد ویژگی DocLint را برای کمک به توسعهدهندگان در تشخیص مشکلات رایج در کامنتهای مستندسازی ارائه میدهد؛ اما همچنین توصیه میشود خروجی تولیدشده با ابزارهای مناسب اعتبارسنجی انطباق و سایر ابزارهای بررسی ارزیابی شود.
برای جزئیات بیشتر در مورد الزامات انطباق برای اسناد HTML5، بخش Conformance requirements [https://www.w3.org/TR/html5/infrastructure.html#conformance-requirements] در مشخصات HTML5 را ببینید. برای جزئیات بیشتر در مورد مسائل امنیتی مرتبط با صفحات وب، صفحه پروژه امنیت برنامههای کاربردی وب باز (OWASP) [https://www.owasp.org] را ببینید.
گزینهها (OPTIONS)
دستور javadoc از گزینههای خط فرمان برای هر دو ابزار اصلی javadoc و داکلت انتخابشده فعلی پشتیبانی میکند. اگر داکلت دیگری مشخص نشده باشد، از داکلت استاندارد (Standard Doclet) استفاده میشود.
گزینههای به سبک GNU (یعنی آنهایی که با -- شروع میشوند) میتوانند به جای نویسههای فاصله، از علامت مساوی (=) برای جدا کردن نام گزینه از مقدار آن استفاده کنند.
گزینههای استاندارد javadoc
گزینههای اصلی javadoc زیر معادل گزینههای متناظر javac هستند. برای توضیحات دقیق استفاده از این گزینهها، بخش گزینههای استاندارد در javac را ببینید:
- •
- --add-modules
- •
- -bootclasspath
- •
- --class-path، -classpath، یا -cp
- •
- --enable-preview
- •
- -encoding
- •
- -extdirs
- •
- --limit-modules
- •
- --module
- •
- --module-path یا -p
- •
- --module-source-path
- •
- --release
- •
- --source یا -source
- •
- --source-path یا -sourcepath
- •
- --system
- •
- --upgrade-module-path
گزینههای زیر گزینههای اصلی javadoc هستند که معادل گزینه متناظری در javac نیستند:
- -breakiterator
- جمله اول را با BreakIterator محاسبه میکند. جمله اول در خلاصه بسته، کلاس، یا عضو و همچنین در نمایه الفبایی کپی میشود. کلاس BreakIterator برای تعیین پایان جمله برای همه زبانها به جز انگلیسی استفاده میشود.
- •
- الگوریتم پیشفرض پایان جمله انگلیسی --- در نقطه همراه با یک فاصله یا یک تگ بلوکی HTML مانند <P> متوقف میشود.
- •
- الگوریتم پایان جمله Breakiterator --- در نقطه، علامت سوال، یا علامت تعجب همراه با یک فاصله زمانی که کلمه بعدی با یک حرف بزرگ شروع میشود متوقف میشود. این برای رسیدگی به اکثر اختصارات در نظر گرفته شده است (مانند "The serial no. is valid"، اما "Mr. Smith" را پردازش نمیکند). گزینه -breakiterator در تگهای HTML یا جملاتی که با اعداد یا نمادها شروع میشوند متوقف نمیشود. این الگوریتم در آخرین نقطه در ../filename متوقف میشود، حتی زمانی که در یک تگ HTML جاسازی شده باشد.
- -doclet کلاس
- خروجی را با استفاده از یک داکلت جایگزین تولید میکند. از نام کاملاً واجد شرایط (fully qualified) استفاده کنید. این داکلت محتوا را تعریف کرده و خروجی را قالببندی میکند. اگر گزینه -doclet استفاده نشود، ابزار javadoc از داکلت استاندارد برای تولید فرمت پیشفرض HTML استفاده میکند. این کلاس باید شامل متد start(Root) باشد. مسیر این کلاس شروع توسط گزینه -docletpath تعریف میشود.
- -docletpath مسیر
- محل یافتن فایلهای کلاس داکلت (مشخصشده با گزینه -doclet) و هر فایل JAR وابسته به آن را مشخص میکند. اگر فایل کلاس شروع در یک فایل JAR باشد، این گزینه مسیر آن فایل JAR را مشخص میکند. میتوانید یک مسیر مطلق یا یک مسیر نسبی نسبت به دایرکتوری جاری مشخص کنید. اگر classpathlist شامل چندین مسیر یا فایل JAR باشد، باید با دونقطه (:) در لینوکس و نقطهویرگول (;) در ویندوز از هم جدا شوند. زمانی که کلاس شروع doclet از قبل در مسیر جستجو باشد، این گزینه ضروری نیست.
- -exclude فهرست_بستهها
- بهطور بدون قید و شرط، بستههای مشخصشده و زیربستههای آنها را از فهرستی که توسط -subpackages تشکیل شده است مستثنی میکند. این گزینه آن بستهها را حتی اگر توسط یک گزینه -subpackages قبلی یا بعدی گنجانده شده باشند، حذف میکند.
مثال زیر شامل java.io، java.util، و java.math (در میان دیگران) میشود، اما بستههای ریشهدار در java.net و java.lang را مستثنی میکند. توجه داشته باشید که این مثالها java.lang.ref را که یک زیربسته از java.lang است، مستثنی میکنند.
- •
- لینوکس و macOS:
-
javadoc -sourcepath /home/user/src -subpackages java -exclude java.net:java.lang
- •
- ویندوز:
-
javadoc -sourcepath \user\src -subpackages java -exclude java.net:java.lang
- --expand-requires مقدار
- به ابزار javadoc دستور میدهد تا مجموعه ماژولهایی را که باید مستندسازی شوند گسترش دهد. بهطور پیشفرض، فقط ماژولهایی که صریحاً در خط فرمان داده شدهاند مستندسازی میشوند. از مقادیر زیر پشتیبانی میکند:
- •
- transitive: علاوه بر این، تمام وابستگیهای انتقالی (transitive) مورد نیاز آن ماژولها را نیز شامل میشود.
- •
- all: تمام وابستگیها را شامل میشود.
- --help، -help، -h، یا -?
- خلاصهای از گزینههای استاندارد را چاپ میکند.
- --help-extra یا -X
- خلاصهای از مجموعه گزینههای اضافی را چاپ میکند.
- -Jفلگ
- فلگ را مستقیماً به محیط زمان اجرای جاوا (JRE) که ابزار javadoc را اجرا میکند ارسال میکند. برای مثال، اگر باید اطمینان حاصل کنید که سیستم ۳۲ مگابایت حافظه برای پردازش مستندات تولیدشده کنار میگذارد، گزینه -Xmx را به این صورت فراخوانی میکنید: javadoc -J-Xmx32m -J-Xms32m com.mypackage. توجه داشته باشید که -Xms اختیاری است زیرا فقط اندازه حافظه اولیه را تنظیم میکند، که زمانی مفید است که حداقل مقدار حافظه مورد نیاز را میدانید.
هیچ فاصلهای بین J و فلگ وجود ندارد.
از گزینه -version برای گزارش نسخه JRE مورد استفاده برای اجرای ابزار javadoc استفاده کنید.
-
javadoc -J-version java version "17" 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)
- -locale نام
- محلی (locale) را که ابزار javadoc هنگام تولید مستندات استفاده میکند مشخص میسازد. آرگومان نام محلی است، همانطور که در مستندات java.util.Locale شرح داده شده است، مانند en_US (انگلیسی، ایالات متحده) یا en_US_WIN (گونه ویندوز).
مشخص کردن یک محلی باعث میشود ابزار javadoc فایلهای منبع آن محلی را برای پیامهایی مانند رشتههای نوار ناوبری، سربرگهای فهرستها و جداول، محتوای فایل راهنما، کامنتهای موجود در فایل stylesheet.css و غیره انتخاب کند. همچنین ترتیب مرتبسازی فهرستهای مرتبشده بر اساس الفبا و جداکننده جمله را برای تعیین پایان جمله اول مشخص میکند. گزینه -locale محلی متن کامنت مستندسازی مشخصشده در فایلهای منبع کلاسهای مستندشده را تعیین نمیکند.
- -package
- فقط کلاسها و اعضای بسته، محافظتشده (protected) و عمومی (public) را نمایش میدهد.
- -private
- همه کلاسها و اعضا را نمایش میدهد.
- -protected
- فقط کلاسها و اعضای محافظتشده و عمومی را نمایش میدهد. این حالت پیشفرض است.
- -public
- فقط کلاسها و اعضای عمومی را نمایش میدهد.
- -quiet
- پیامها را خاموش میکند تا فقط هشدارها و خطاها ظاهر شوند تا مشاهده آنها آسانتر شود. همچنین رشته version را سرکوب میکند.
- --show-members مقدار
- مشخص میکند کدام اعضا (فیلدها یا متدها) مستندسازی شوند، که در آن مقدار میتواند هر یک از موارد زیر باشد:
- •
- public --- فقط اعضای عمومی را نمایش میدهد
- •
- protected --- اعضای عمومی و محافظتشده را نمایش میدهد؛ این حالت پیشفرض است
- •
- package --- اعضای عمومی، محافظتشده و بسته را نمایش میدهد
- •
- private --- تمام اعضا را نمایش میدهد
- --show-module-contents مقدار
- سطح جزئیات مستندسازی اعلانهای ماژول را مشخص میکند، که در آن مقدار میتواند api یا all باشد.
- --show-packages مقدار
- مشخص میکند کدام بستههای ماژول مستندسازی شوند، که در آن مقدار میتواند بستههای صادرشده (exported) یا تمام بستهها (all) باشد.
- --show-types مقدار
- مشخص میکند کدام نوعها (کلاسها، رابطها و غیره) مستندسازی شوند، که در آن مقدار میتواند هر یک از موارد زیر باشد:
- •
- public --- فقط نوعهای عمومی را نمایش میدهد
- •
- protected --- نوعهای عمومی و محافظتشده را نمایش میدهد؛ این حالت پیشفرض است
- •
- package --- نوعهای عمومی، محافظتشده و بسته را نمایش میدهد
- •
- private --- تمام نوعها را نمایش میدهد
- -subpackages فهرست_زیربستهها
- مستندات را از فایلهای منبع در بستههای مشخصشده و بهطور بازگشتی در زیربستههای آنها تولید میکند. این گزینه هنگام افزودن زیربستههای جدید به کد منبع مفید است زیرا آنها بهطور خودکار گنجانده میشوند. هر آرگومان بسته هر زیربسته سطح بالا (مانند java) یا بسته کاملاً واجد شرایط (مانند javax.swing) است که نیازی به داشتن فایلهای منبع ندارد. آرگومانها در تمام سیستمهای عامل با دونقطه از هم جدا میشوند. استفاده از نویسههای عام (wildcard) مجاز نیست. از -sourcepath برای مشخص کردن محل یافتن بستهها استفاده کنید. این گزینه فایلهای منبعی را که در درخت منبع هستند اما به بستهها تعلق ندارند پردازش نمیکند.
برای مثال، دستورات زیر مستندات را برای بستههایی به نام java و javax.swing و تمام زیربستههای آنها تولید میکنند.
- •
- لینوکس و macOS:
-
javadoc -d docs -sourcepath /home/user/src -subpackages java:javax.swing
- •
- ویندوز:
-
javadoc -d docs -sourcepath \user\src -subpackages java:javax.swing
- -verbose
- پیامهای با جزئیات بیشتر را در حین اجرای ابزار javadoc ارائه میدهد. بدون گزینه -verbose، پیامها برای بارگیری فایلهای منبع، تولید مستندات (یک پیام به ازای هر فایل منبع) و مرتبسازی ظاهر میشوند. گزینه -verbose باعث چاپ پیامهای اضافی میشود که تعداد میلیثانیهها را برای تجزیه هر فایل منبع جاوا مشخص میکند.
- --version
- اطلاعات نسخه را چاپ میکند.
- -Werror
- در صورت بروز هرگونه هشدار، یک خطا گزارش میدهد.
گزینههای اضافی javadoc
توجه: گزینههای اضافی برای javadoc بدون اطلاع قبلی ممکن است تغییر کنند.
گزینههای اضافی javadoc زیر معادل گزینههای متناظر در javac هستند. برای توضیحات دقیق استفاده از این گزینهها، بخش گزینههای اضافی در javac را ببینید:
- •
- --add-exports
- •
- --add-reads
- •
- --patch-module
- •
- -Xmaxerrs
- •
- -Xmaxwarns
گزینههای استاندارد برای داکلت استاندارد (Standard Doclet)
گزینههای زیر توسط داکلت استاندارد ارائه میشوند.
- --add-script فایل
- فایل را به عنوان یک فایل جاوااسکریپت اضافی به مستندات تولیدشده اضافه میکند. این گزینه میتواند یک یا چند بار برای مشخص کردن فایلهای اسکریپت اضافی استفاده شود.
مثال خط فرمان:
javadoc --add-script first_script.js --add-script second_script.js pkg_foo
- --add-stylesheet فایل
- فایل را به عنوان یک فایل شیوهنامه (stylesheet) اضافی به مستندات تولیدشده اضافه میکند. این گزینه میتواند یک یا چند بار برای مشخص کردن شیوهنامههای اضافی گنجاندهشده در مستندات استفاده شود.
مثال خط فرمان:
-
javadoc --add-stylesheet new_stylesheet_1.css --add-stylesheet new_stylesheet_2.css pkg_foo
- --allow-script-in-comments
- به جاوااسکریپت در گزینهها و کامنتها اجازه میدهد.
- -author
- متن @author را در اسناد تولیدشده شامل میشود.
- -bottom کد-html
- متنی را که باید در پایین هر فایل خروجی قرار گیرد مشخص میکند. متن در پایین صفحه، زیر نوار ناوبری پایینی قرار میگیرد. متن میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت، متن باید در علامت نقلقول (گیومه) قرار گیرد. برای هرگونه علامت نقلقول داخلی در متن، از نویسههای گریز (escape) استفاده کنید.
- -charset نام
- مجموعه نویسه (character set) HTML را برای این سند مشخص میکند. نام باید یک نام ترجیحی MIME باشد همانطور که در ثبت IANA، مجموعههای نویسه [http://www.iana.org/assignments/character-sets] مشخص شده است.
برای مثال:
-
javadoc -charset "iso-8859-1" mypackage
این دستور خط زیر را در سربرگ هر صفحه تولیدشده درج میکند:
-
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
تگ meta در استاندارد HTML (4197265 و 4137321)، نمایش سند HTML [http://www.w3.org/TR/REC-html40/charset.html#h-5.2.2] شرح داده شده است.
- -d دایرکتوری
- دایرکتوری مقصدی را مشخص میکند که ابزار javadoc فایلهای HTML تولیدشده را در آن ذخیره میکند. اگر گزینه -d را حذف کنید، فایلها در دایرکتوری جاری ذخیره میشوند. مقدار دایرکتوری میتواند مطلق یا نسبی نسبت به دایرکتوری کاری جاری باشد. دایرکتوری مقصد هنگام اجرای ابزار javadoc بهطور خودکار ایجاد میشود.
- •
- لینوکس و macOS: برای مثال، دستور زیر مستندات را برای بسته com.mypackage تولید کرده و نتایج را در دایرکتوری /user/doc/ ذخیره میکند:
-
javadoc -d /user/doc/ com.mypackage
- •
- ویندوز: برای مثال، دستور زیر مستندات را برای بسته com.mypackage تولید کرده و نتایج را در دایرکتوری \user\doc\ ذخیره میکند:
-
javadoc -d \user\doc\ com.mypackage
- -docencoding نام
- کدگذاری فایلهای HTML تولیدشده را مشخص میکند. نام باید یک نام ترجیحی MIME باشد همانطور که در ثبت IANA، مجموعههای نویسه [http://www.iana.org/assignments/character-sets] مشخص شده است.
سه گزینه برای استفاده در دستور کدگذاری javadoc موجود است. گزینه -encoding برای کدگذاری فایلهای خواندهشده توسط ابزار javadoc استفاده میشود، در حالی که گزینههای -docencoding و -charset برای کدگذاری فایلهای نوشتهشده توسط ابزار استفاده میشوند. از سه گزینه موجود، حداکثر یک گزینه کدگذاری ورودی و یک گزینه کدگذاری خروجی در یک دستور کدگذاری استفاده میشوند. اگر هر دو گزینه کدگذاری ورودی و خروجی را در یک دستور مشخص کنید، باید مقدار یکسانی داشته باشند. اگر هیچ گزینه خروجی را مشخص نکنید، بهطور پیشفرض از کدگذاری ورودی استفاده میشود.
برای مثال:
-
javadoc -docencoding "iso-8859-1" mypackage
- -docfilessubdirs
- زیردایرکتوریهای doc-file را بهطور بازگشتی کپی میکند. کپی عمیق دایرکتوریهای doc-files را فعال میکند. زیردایرکتوریها و تمام محتویات بهطور بازگشتی در مقصد کپی میشوند. برای مثال، دایرکتوری doc-files/example/images و تمام محتویات آن کپی میشوند. گزینه -excludedocfilessubdir میتواند برای مستثنی کردن زیردایرکتوریهای خاص استفاده شود.
- -doctitle کد-html
- عنوانی را برای قرار دادن نزدیک بالای فایل خلاصه نمای کلی (overview summary) مشخص میکند. متن مشخصشده در تگ title به عنوان یک سربرگ سطح اولِ وسطچین، مستقیماً زیر نوار ناوبری بالایی قرار میگیرد. تگ title میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت باید عنوان را در علامت نقلقول قرار دهید. علامتهای نقلقول اضافی در تگ title باید گریز داده شوند (escaped). برای مثال، javadoc -doctitle "<b>My Library</b><br>v1.0" com.mypackage.
- -excludedocfilessubdir نام۱,نام۲...
- هنگام کپی بازگشتی زیردایرکتوریهای doc-file، هر زیردایرکتوری با نامهای دادهشده را مستثنی میکند. بخش -docfilessubdirs را ببینید. به دلایل تاریخی، : میتواند در هر کجای آرگومان به عنوان جداکننده به جای , استفاده شود.
- -footer کد-html
- متن پاورقی را برای قرار دادن در پایین هر فایل خروجی مشخص میکند. مقدار کد-html در سمت راست نوار ناوبری پایینی قرار میگیرد. مقدار کد-html میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت، مقدار کد-html باید در علامت نقلقول قرار گیرد. از نویسههای گریز برای هرگونه علامت نقلقول داخلی در پاورقی استفاده کنید.
- -group نام بسته۱,بسته۲...
- بستههای مشخصشده را در صفحه نمای کلی (Overview) با هم گروهبندی میکند. به دلایل تاریخی، : میتواند به عنوان جداکننده در هر کجای آرگومان به جای , استفاده شود.
- -header کد-html
- متن سربرگ را برای قرار دادن در بالای هر فایل خروجی مشخص میکند. سربرگ در سمت راست نوار ناوبری بالایی قرار میگیرد. مقدار header میتواند حاوی تگهای HTML و فاصله باشد، اما در این صورت، header باید در علامت نقلقول قرار گیرد. از نویسههای گریز برای علامتهای نقلقول داخلی در سربرگ استفاده کنید. برای مثال، javadoc -header "<b>My Library</b><br>v1.0" com.mypackage.
- -helpfile نام_فایل
- فایلی را که به پیوند HELP در نوارهای ناوبری بالا و پایین متصل میشود، شامل میسازد. بدون این گزینه، ابزار javadoc یک فایل راهنما به نام help-doc.html ایجاد میکند که در ابزار javadoc به صورت کد سخت قرار دارد. این گزینه به شما امکان میدهد مقدار پیشفرض را لغو کنید. نام_فایل میتواند هر نامی باشد و محدود به help-doc.html نیست. ابزار javadoc پیوندهای موجود در نوار ناوبری را بر این اساس تنظیم میکند. برای مثال:
- •
- لینوکس و macOS:
-
javadoc -helpfile /home/user/myhelp.html java.awt
- •
- ویندوز:
-
javadoc -helpfile C:\user\myhelp.html java.awt
- -html5
- این گزینه بیاثر (no-op) است و صرفاً برای سازگاری با گذشته حفظ شده است.
- --javafx یا -javafx
- قابلیت JavaFX را فعال میکند. اگر کلاسهای کتابخانه JavaFX در مسیر ماژول شناسایی شوند، این گزینه بهطور پیشفرض فعال است.
- -keywords
- تگهای کلمه کلیدی <meta> در HTML را برای هر کلاس به فایل تولیدشده اضافه میکند. این تگها میتوانند به موتورهای جستجویی که به دنبال تگهای <meta> میگردند در یافتن صفحات کمک کنند. اکثر موتورهای جستجو که کل اینترنت را جستجو میکنند به تگهای <meta> نگاه نمیکنند، زیرا صفحات ممکن است از آنها سوءاستفاده کنند. موتورهای جستجوی ارائهشده توسط شرکتهایی که جستجوهای خود را به وبسایت خود محدود میکنند، میتوانند از بررسی تگهای <meta> بهرهمند شوند. تگهای <meta> شامل نام کاملاً واجد شرایط کلاس و نامهای غیر واجد شرایط فیلدها و متدها هستند. سازندهها گنجانده نمیشوند زیرا با نام کلاس یکسان هستند. برای مثال، کلاس String با این کلمات کلیدی شروع میشود:
-
<meta name="keywords" content="java.lang.String class"> <meta name="keywords" content="CASE_INSENSITIVE_ORDER"> <meta name="keywords" content="length()"> <meta name="keywords" content="charAt()">
- -link url
- پیوندهایی به مستندات موجودِ تولیدشده توسط javadoc از کلاسهای دارای ارجاع خارجی ایجاد میکند. آرگومان url نشانی وب مطلق یا نسبی دایرکتوری حاوی مستندات تولیدشده خارجی javadoc است. میتوانید چندین گزینه -link را در یک اجرای ابزار javadoc مشخص کنید تا به چندین سند پیوند داده شود.
باید یک فایل package-list یا element-list در این دایرکتوری url وجود داشته باشد (در غیر این صورت، از گزینه -linkoffline استفاده کنید).
توجه: فایلهای package-list و element-list توسط ابزار javadoc هنگام تولید مستندات API ایجاد میشوند و نباید توسط کاربر تغییر داده شوند.
هنگامی که از ابزار javadoc برای مستندسازی بستهها استفاده میکنید، از فایل package-list برای تعیین بستههای اعلانشده در یک API استفاده میکند. هنگامی که اسناد API را برای ماژولها تولید میکنید، ابزار javadoc از فایل element-list برای تعیین ماژولها و بستههای اعلانشده در یک API استفاده میکند.
ابزار javadoc نامها را از فایل فهرست مناسب میخواند و سپس به بستهها یا ماژولها در آن نشانی وب پیوند میدهد.
هنگامی که ابزار javadoc اجرا میشود، مقدار url در پیوندهای <A HREF> ایجادشده کپی میشود. بنابراین، url باید نشانی وب دایرکتوری باشد و نه یک فایل.
میتوانید از پیوند مطلق برای url استفاده کنید تا اسناد شما بتوانند به سندی در هر وبسایتی پیوند داده شوند، یا میتوانید از پیوند نسبی برای پیوند دادن صرفاً به یک مکان نسبی استفاده کنید. اگر از پیوند نسبی استفاده میکنید، مقداری که ارسال میکنید باید مسیر نسبی از دایرکتوری مقصد (مشخصشده با گزینه -d) به دایرکتوری حاوی بستههای پیوندشده باشد. هنگامی که یک پیوند مطلق را مشخص میکنید، معمولاً از پیوند HTTP استفاده میکنید. با این حال، اگر میخواهید به یک فایلسیستم که فاقد وبسرور است پیوند دهید، میتوانید از پیوند فایل استفاده کنید. تنها زمانی از پیوند فایل استفاده کنید که هر کسی که میخواهد به مستندات تولیدشده دسترسی داشته باشد، همان سیستم فایل را به اشتراک بگذارد. در همه موارد و در تمام سیستمهای عامل، از اسلش به عنوان جداکننده استفاده کنید، چه URL مطلق باشد یا نسبی، و https:، http:، یا file: همانطور که در یادداشت URL: مکانیابهای یکنواخت منبع [http://www.ietf.org/rfc/rfc1738.txt] مشخص شده است.
-
-link https://<host>/<directory>/<directory>/.../<name> -link http://<host>/<directory>/<directory>/.../<name> -link file://<host>/<directory>/<directory>/.../<name> -link <directory>/<directory>/.../<name>
- --link-modularity-mismatch (warn|info)
- مشخص میکند که آیا مستندات خارجی با ماژولار بودن نادرست (مانند مستندات غیر ماژولار برای یک کتابخانه ماژولار، یا حالت معکوس) باید به عنوان هشدار (warn) یا صرفاً یک پیام (info) گزارش شوند. رفتار پیشفرض گزارش یک هشدار است.
- -linkoffline url1 url2
- این گزینه گونهای از گزینه -link است. هر دوی آنها پیوندهایی به مستندات تولیدشده javadoc برای کلاسهای دارای ارجاع خارجی ایجاد میکنند. میتوانید چندین گزینه -linkoffline را در یک اجرای ابزار javadoc مشخص کنید.
از گزینه -linkoffline در موارد زیر استفاده کنید:
- •
- پیوند دادن به سندی در وب که ابزار javadoc نمیتواند از طریق اتصال وب به آن دسترسی داشته باشد
- •
- فایل package-list یا element-list سند خارجی یا قابل دسترسی نیست یا در مکان URL وجود ندارد، اما در مکان دیگری وجود دارد و میتواند توسط فایل package-list یا element-list (معمولاً محلی) مشخص شود.
توجه: فایلهای package-list و element-list توسط ابزار javadoc هنگام تولید مستندات API ایجاد میشوند و نباید توسط کاربر تغییر داده شوند.
اگر url1 فقط در شبکه جهانی وب قابل دسترسی باشد، گزینه -linkoffline این محدودیت را که ابزار javadoc برای تولید مستندات باید اتصال وب داشته باشد برطرف میکند.
کاربرد دیگر گزینه -linkoffline به عنوان یک راه حل موقت برای بهروزرسانی اسناد است. پس از اجرای ابزار javadoc روی مجموعه کاملی از بستهها یا ماژولها، میتوانید ابزار javadoc را مجدداً روی مجموعه کوچکتری از بستهها یا ماژولهای تغییریافته اجرا کنید، تا فایلهای بهروزرسانیشده بتوانند دوباره در مجموعه اصلی درج شوند.
برای مثال، گزینه -linkoffline دو آرگومان میگیرد. اولی برای رشتهای است که باید در پیوندهای <a href> تعبیه شود، و دومی به ابزار javadoc میگوید فایل package-list یا element-list را کجا پیدا کند.
مقدار url1 یا url2 نشانی وب مطلق یا نسبی دایرکتوری حاوی مستندات تولیدشده خارجی javadoc است که میخواهید به آن پیوند دهید. در صورت نسبی بودن، مقدار باید مسیر نسبی از دایرکتوری مقصد (مشخصشده با گزینه -d) به ریشه بستههای پیوندشده باشد. بخش url در گزینه -link را ببینید.
- --link-platform-properties url
- یک فایل ویژگیها (properties file) را مشخص میکند که برای پیکربندی پیوندها به مستندات پلتفرم استفاده میشود.
انتظار میرود آرگومان url به یک فایل ویژگیها شامل یک یا چند مدخل با قالب زیر اشاره کند، که در آن <version> نسخه پلتفرم است همانطور که به گزینه --release یا --source ارسال شده و <url> نشانی وب پایه مستندات API پلتفرم متناظر است:
-
doclet.platform.docs.<version>=<url>
به عنوان مثال، یک فایل ویژگیها حاوی نشانیهای وب برای نسخههای ۱۵ تا ۱۷ ممکن است شامل خطوط زیر باشد:
-
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
اگر فایل ویژگیها حاوی مدخلی برای یک نسخه خاص نباشد، هیچ پیوند پلتفرمی ایجاد نمیشود.
- -linksource
- یک نسخه HTML از هر فایل منبع (همراه با شماره خطوط) ایجاد کرده و پیوندهایی به آنها از مستندات استاندارد HTML اضافه میکند. پیوندها برای کلاسها، رابطها، سازندهها، متدها و فیلدهایی که اعلانهای آنها در یک فایل منبع است ایجاد میشوند. در غیر این صورت، پیوندها ایجاد نمیشوند، مانند سازندههای پیشفرض و کلاسهای تولیدشده.
این گزینه تمام جزئیات پیادهسازی خصوصی را در فایلهای منبع گنجاندهشده، شامل کلاسهای خصوصی، فیلدهای خصوصی و بدنه متدهای خصوصی، بدون در نظر گرفتن گزینههای -public، -package، -protected و -private نمایش میدهد. مگر اینکه از گزینه -private نیز استفاده کنید، تمام کلاسها یا رابطهای خصوصی از طریق پیوندها قابل دسترسی نیستند.
هر پیوند روی نام شناسه در اعلان آن ظاهر میشود. برای مثال، پیوند به کد منبع کلاس Button روی کلمه Button خواهد بود:
-
public class Button extends Component implements Accessible
پیوند به کد منبع متد getLabel در کلاس Button روی کلمه getLabel قرار دارد:
-
public String getLabel()
- --main-stylesheet فایل یا -stylesheetfile فایل
- مسیر یک فایل شیوهنامه جایگزین را مشخص میکند که شامل تعاریف سبکهای CSS مورد استفاده در مستندات تولیدشده است. این گزینه به شما امکان میدهد مقدار پیشفرض را لغو کنید. اگر این گزینه را مشخص نکنید، ابزار javadoc یک شیوهنامه پیشفرض ایجاد کرده و از آن استفاده میکند. نام فایل میتواند هر نامی باشد و به stylesheet.css محدود نمیشود. گزینه --main-stylesheet فرم ترجیحی است.
مثال خط فرمان:
-
javadoc --main-stylesheet main_stylesheet.css pkg_foo
- -nocomment
- کل بدنه کامنت، از جمله توضیحات اصلی و همه تگها را سرکوب کرده و فقط اعلانها را تولید میکند. این گزینه به شما امکان میدهد از فایلهای منبعی که در ابتدا برای هدف دیگری در نظر گرفته شده بودند مجدداً استفاده کنید تا بتوانید در مراحل اولیه یک پروژه جدید، اسکلت مستندات HTML را تولید نمایید.
- -nodeprecated
- از تولید هرگونه API منسوخشده (deprecated) در مستندات جلوگیری میکند. این کار همان کاری را انجام میدهد که گزینه -nodeprecatedlist انجام میدهد، به علاوه در بقیه بخشهای مستندات نیز هیچ API منسوخشدهای تولید نمیکند. این گزینه هنگام نوشتن کد زمانی که نمیخواهید حواستان با کدهای منسوخشده پرت شود مفید است.
- -nodeprecatedlist
- از تولید فایلی که حاوی فهرست APIهای منسوخشده است (deprecated-list.html) و پیوند موجود در نوار ناوبری به آن صفحه جلوگیری میکند. ابزار javadoc به تولید API منسوخشده در سرتاسر بقیه سند ادامه میدهد. این گزینه زمانی مفید است که کد منبع شما حاوی هیچ API منسوخشدهای نباشد و بخواهید نوار ناوبری تمیزتری داشته باشید.
- -nohelp
- پیوند HELP را در نوار ناوبری بالای هر صفحه خروجی حذف میکند.
- -noindex
- نمایه (index) را از اسناد تولیدشده حذف میکند. نمایه بهطور پیشفرض تولید میشود.
- -nonavbar
- از تولید نوار ناوبری، سربرگ و پاورقی که معمولاً در بالا و پایین صفحات تولیدشده یافت میشوند، جلوگیری میکند. گزینه -nonavbar هیچ تأثیری بر گزینه -bottom ندارد. گزینه -nonavbar زمانی مفید است که فقط به محتوا علاقهمند هستید و نیازی به ناوبری ندارید، مانند زمانی که فایلها را صرفاً برای چاپ به PostScript یا PDF تبدیل میکنید.
- --no-platform-links
- از ایجاد پیوند به مستندات پلتفرم جلوگیری میکند. این پیوندها بهطور پیشفرض تولید میشوند.
- -noqualifier نام۱,نام۲...
- فهرست واجد شرایطکنندهها (qualifiers) را از خروجی حذف میکند. نام بسته از جاهایی که نام کلاس یا رابط ظاهر میشود حذف میشود. به دلایل تاریخی، : میتواند در هر کجای آرگومان به عنوان جداکننده به جای , استفاده شود.
مثال زیر تمام واجد شرایطکنندههای بسته را حذف میکند: -noqualifier all.
مثال زیر واجد شرایطکنندههای بستههای java.lang و java.io را حذف میکند: -noqualifier java.lang:java.io.
مثال زیر واجد شرایطکنندههای بستههایی را که با زیربستههای java و com.sun شروع میشوند، حذف میکند، اما javax را حذف نمیکند: -noqualifier java.*:com.sun.*.
در جایی که یک واجد شرایطکننده بسته به دلیل رفتار قبلی ظاهر میشود، نام میتواند به شکل مناسب کوتاه شود. این قاعده بدون در نظر گرفتن اینکه آیا از گزینه -noqualifier استفاده شده است یا خیر، اعمال میشود.
- -nosince
- بخشهای Since مرتبط با تگهای @since را از اسناد تولیدشده حذف میکند.
- -notimestamp
- برچسب زمانی را که در یک کامنت HTML در بالای هر صفحه مخفی شده است، سرکوب میکند. گزینه -notimestamp زمانی مفید است که میخواهید ابزار javadoc را روی دو پایگاه منبع اجرا کنید و تفاوتهای بین آنها را با diff بگیرید، زیرا از ایجاد تفاوت توسط برچسبهای زمانی جلوگیری میکند (که در غیر این صورت در هر صفحه یک diff ایجاد میشد). برچسب زمانی شامل شماره انتشار ابزار javadoc است.
- -notree
- صفحات سلسلهمراتب کلاس و رابط را از اسناد تولیدشده حذف میکند. اینها صفحاتی هستند که با استفاده از دکمه Tree در نوار ناوبری به آنها میرسید. سلسلهمراتب بهطور پیشفرض تولید میشود.
- --override-methods (detail|summary)
- متدهای بازنویسیشده (overridden) را در بخشهای جزئیات یا خلاصه مستندسازی میکند. مقدار پیشفرض detail است.
- -overview نام_فایل
- مشخص میکند که ابزار javadoc باید متن مستندات نمای کلی را از فایل منبع مشخصشده توسط نام_فایل بازیابی کند و آن را در صفحه نمای کلی (overview-summary.html) قرار دهد. یک مسیر نسبی مشخصشده با نام فایل، نسبت به دایرکتوری کاری جاری است.
در حالی که میتوانید از هر نامی که میخواهید برای مقدار نام_فایل استفاده کنید و آن را در هر کجای مسیر قرار دهید، معمول است که نام آن را overview.html بگذارید و آن را در درخت منبع در دایرکتوری حاوی بالاترین دایرکتوریهای بسته قرار دهید. در این مکان، هنگام مستندسازی بستهها به هیچ مسیری نیاز نیست، زیرا گزینه -sourcepath به این فایل اشاره میکند.
- •
- لینوکس و macOS: برای مثال، اگر درخت منبع برای بسته java.lang به صورت src/classes/java/lang/ باشد، میتوانید فایل نمای کلی را در src/classes/overview.html قرار دهید.
- •
- ویندوز: برای مثال، اگر درخت منبع برای بسته java.lang به صورت src\classes\java\lang\ باشد، میتوانید فایل نمای کلی را در src\classes\overview.html قرار دهید.
صفحه نمای کلی تنها زمانی ایجاد میشود که دو یا چند نام بسته را به ابزار javadoc ارسال کنید. عنوان صفحه نمای کلی توسط -doctitle تنظیم میشود.
- -serialwarn
- هشدارهای زمان کامپایل را برای تگهای گمشده @serial تولید میکند. بهطور پیشفرض، Javadoc هیچ هشدار سریالی تولید نمیکند. از این گزینه برای نمایش هشدارهای سریال استفاده کنید، که به مستندسازی صحیح فیلدهای سریالیشدنی پیشفرض و متدهای writeExternal کمک میکند.
- --since نسخه_انتشار(,نسخه_انتشار)*
- مستندات را برای APIهایی که در نسخههای انتشار مشخصشده اضافه یا تازه منسوخ شدهاند تولید میکند.
اگر تگ @since در کامنت javadoc یک عنصر در کد منبع مستندشده با یک نسخه_انتشار ارسالشده به عنوان آرگومان گزینه مطابقت داشته باشد، اطلاعات مربوط به عنصر و نسخهای که در آن اضافه شده است در صفحه "New API" گنجانده میشود.
اگر صفحه "Deprecated API" تولید شود و عنصر since از حاشیهنویسی java.lang.Deprecated یک عنصر مستندشده با یک نسخه_انتشار در آرگومانهای گزینه مطابقت داشته باشد، اطلاعات مربوط به نسخهای که عنصر در آن منسوخ شده است به صفحه "Deprecated API" اضافه میشود.
نسخههای انتشار با استفاده از مقایسه رشتهای حساس به حروف بزرگ و کوچک مقایسه میشوند.
- --since-label متن
- متن مورد استفاده در سربرگ صفحه "New API" را مشخص میکند. این ممکن است شامل اطلاعاتی درباره نسخههای پوشش داده شده در صفحه باشد، برای مثال "New API in release 2.0" یا "New API since release 1".
- --snippet-path فهرست_مسیر_قطعه
- مسیرهای جستجو را برای یافتن فایلهای قطعات کد (snippets) خارجی مشخص میکند. فهرست_مسیر_قطعه میتواند شامل چندین مسیر باشد که با جداکننده مسیر پلتفرم (; در ویندوز؛ : در سایر پلتفرمها) از هم جدا شدهاند. داکلت استاندارد ابتدا زیردایرکتوری snippet-files را در بسته حاوی قطعه کد جستجو میکند و سپس تمام دایرکتوریهای موجود در فهرست دادهشده را جستجو مینماید.
- -sourcetab طول_تب
- تعداد فاصلههایی را که هر تب در منبع استفاده میکند مشخص میسازد.
- --spec-base-url url
- نشانی وب پایه را برای نشانیهای وب نسبی در تگهای @spec مشخص میکند، تا هنگام تولید پیوندها به هرگونه مشخصات خارجی استفاده شود. این مقدار میتواند یک URL مطلق یا یک URL نسبی باشد، که در این حالت نسبت به دایرکتوری پایه فایلهای خروجی تولیدشده ارزیابی میشود. مقدار پیشفرض معادل {@docRoot}/../specs است.
- -splitindex
- فایل نمایه را به چندین فایل به صورت الفبایی تقسیم میکند، یک فایل برای هر حرف، به علاوه یک فایل برای مدخلهای نمایهای که با نمادهای غیر الفبایی شروع میشوند.
- -tag نام:مکانها:سربرگ
- تگهای سفارشی تکآرگومانی را مشخص میکند. برای اینکه ابزار javadoc املای نام تگها را بررسی کند، مهم است که برای هر تگ سفارشی موجود در کد منبع یک گزینه -tag قرار دهید و تگهایی را که در اجرای فعلی خروجی داده نمیشوند (با X) غیرفعال کنید. دونقطه (:) همیشه جداکننده است. برای گنجاندن دونقطه در نام تگ، آن را با یک بکاسلش (\) اسکیپ کنید. گزینه -tag عنوان تگ، یعنی سربرگ را به صورت پررنگ (bold) در خروجی نمایش میدهد و در خط بعدی متن ناشی از تک آرگومان آن قرار میگیرد. مشابه هر تگ بلوکی، متن آرگومان میتواند حاوی تگهای درونخطی (inline) باشد که آنها نیز تفسیر میشوند. خروجی شبیه به تگهای تکآرگومانی استاندارد مانند تگهای @return و @author است. حذف مقدار سربرگ باعث میشود که نام به عنوان عنوان در نظر گرفته شود. مکانها فهرستی از نویسهها است که انواع اعلانهایی را که تگ میتواند در آنها استفاده شود مشخص میکند. نویسههای زیر را میتوان به صورت حروف بزرگ یا کوچک استفاده کرد:
- •
- A: تمام اعلانها
- •
- C: سازندهها
- •
- F: فیلدها
- •
- M: متدها
- •
- O: صفحه نمای کلی و سایر فایلهای مستندات در زیردایرکتوریهای doc-files
- •
- P: بستهها
- •
- S: ماژولها
- •
- T: نوعها (کلاسها و رابطها)
- •
- X: هیچکجا: تگ غیرفعال است و نادیده گرفته میشود
ترتیبی که تگها در خط فرمان داده میشوند به عنوان ترتیبی که تگها در خروجی تولیدشده ظاهر میشوند استفاده خواهد شد. میتوانید تگهای استاندارد را به ترتیبی که در خط فرمان داده شده است با استفاده از گزینه -tag بدون مکانها یا سربرگ شامل کنید.
- -taglet کلاس
- نام کاملاً واجد شرایط تگلتی را که در تولید مستندات برای آن تگ استفاده میشود مشخص میکند. از نام کاملاً واجد شرایط برای مقدار کلاس استفاده کنید. این تگلت همچنین تعداد آرگومانهای متنی را که تگ سفارشی دارد تعریف میکند. تگلت آن آرگومانها را میپذیرد، آنها را پردازش میکند و خروجی را تولید مینماید.
تگلتها برای تگهای بلوکی یا درونخطی مفید هستند. آنها میتوانند هر تعداد آرگومان داشته باشند و رفتارهای سفارشی را پیادهسازی کنند، مانند پررنگ کردن متن، قالببندی نقطهها، نوشتن متن در یک فایل، یا راهاندازی فرآیندهای دیگر. تگلتها فقط میتوانند تعیین کنند که یک تگ در کجا و به چه شکلی ظاهر شود. تمام تصمیمات دیگر توسط داکلت گرفته میشود. یک تگلت نمیتواند کارهایی مانند حذف نام کلاس از فهرست کلاسهای گنجاندهشده را انجام دهد. با این حال، میتواند اثرات جانبی مانند چاپ متن تگ در یک فایل یا راهاندازی فرآیند دیگری را اجرا کند. از گزینه -tagletpath برای مشخص کردن مسیر تگلت استفاده کنید. مثال زیر تگلت To Do را بعد از Parameters و جلوتر از Throws در صفحات تولیدشده درج میکند.
-
-taglet com.sun.tools.doclets.ToDoTaglet -tagletpath /home/taglets -tag return -tag param -tag todo -tag throws -tag see
به صورت متناوب، میتوانید از گزینه -taglet به جای گزینه -tag آن استفاده کنید، اما خواندن آن ممکن است دشوار باشد.
- -tagletpath فهرست_مسیر_تگلت
- مسیرهای جستجو را برای یافتن فایلهای کلاس تگلت مشخص میکند. فهرست_مسیر_تگلت میتواند شامل چندین مسیر با جدا کردن آنها با جداکننده مسیر پلتفرم باشد (; در ویندوز؛ : در سایر پلتفرمها). ابزار javadoc تمام زیردایرکتوریهای مسیرهای مشخصشده را جستجو میکند.
- -top کد-html
- متنی را برای قرار دادن در بالای هر فایل خروجی مشخص میکند.
- -use
- صفحات استفاده (use) از کلاس و بسته را ایجاد میکند. شامل یک صفحه Use برای هر کلاس و بسته مستندشده است. این صفحه توصیف میکند چه بستهها، کلاسها، متدها، سازندهها و فیلدهایی از هر API کلاس یا بسته مشخصشده استفاده میکنند. برای کلاس مفروض C، مواردی که از کلاس C استفاده میکنند شامل زیرکلاسهای C، فیلدهای اعلانشده به عنوان C، متدهایی که C را برمیگردانند، و متدها و سازندههایی با پارامترهایی از نوع C هستند. برای مثال، میتوانید به صفحه Use برای نوع String نگاه کنید. از آنجا که متد getName در کلاس java.awt.Font نوع String را برمیگرداند، متد getName از String استفاده میکند و بنابراین متد getName در صفحه Use برای String ظاهر میشود. این گزینه فقط استفاده از API را مستند میکند، نه پیادهسازی را. هنگامی که یک متد از String در پیادهسازی خود استفاده میکند، اما یک رشته را به عنوان آرگومان نمیگیرد یا رشتهای را برنمیگرداند، این به عنوان استفاده از String در نظر گرفته نمیشود. برای دسترسی به صفحه تولیدشده Use، به کلاس یا بسته بروید و روی پیوند Use در نوار ناوبری کلیک کنید.
- -version
- متن نسخه را در اسناد تولیدشده شامل میکند. این متن بهطور پیشفرض حذف شده است. برای فهمیدن اینکه از چه نسخهای از ابزار javadoc استفاده میکنید، از گزینه -J-version استفاده نمایید.
- -windowtitle عنوان
- عنوانی را برای قرار دادن در تگ HTML <title> مشخص میکند. متن مشخصشده در تگ title در عنوان پنجره و در هر بوکمارک مرورگری (مکانهای مورد علاقه) که شخصی برای این صفحه ایجاد میکند ظاهر میشود. این عنوان نباید حاوی هیچ تگ HTML باشد زیرا مرورگر آنها را به درستی تفسیر نمیکند. برای هر علامت نقلقول داخلی در تگ title از نویسههای گریز استفاده کنید. اگر گزینه -windowtitle حذف شود، ابزار javadoc از مقدار گزینه -doctitle برای گزینه -windowtitle استفاده میکند. برای مثال، javadoc -windowtitle "My Library" com.mypackage.
گزینههای اضافی برای داکلت استاندارد (Standard Doclet)
موارد زیر گزینههای اضافی ارائهشده توسط داکلت استاندارد هستند و بدون اطلاع قبلی ممکن است تغییر کنند. گزینههای اضافی کمتر مورد استفاده قرار میگیرند یا پیشرفته تلقی میشوند.
- --date تاریخ-و-زمان
- مقداری را برای برچسب زمانی صفحات تولیدشده، در قالب ISO 8601 [https://www.iso.org/iso-8601-date-and-time-format.html] مشخص میکند. مقدار مشخصشده باید در بازه ۱۰ سال از تاریخ و زمان فعلی باشد. مشخص کردن همزمان هر دو گزینه -notimestamp و --date یک خطا است. استفاده از یک مقدار خاص به این معنی است که مستندات تولیدشده میتوانند بخشی از یک ساخت تکرارپذیر (reproducible build) [https://reproducible-builds.org] باشند. اگر این گزینه داده نشود، مقدار پیشفرض تاریخ و زمان فعلی است. برای مثال:
-
javadoc --date 2022-02-01T17:41:59-08:00 mypackage
- --legal-notices (default|none|دایرکتوری)
- مکانی را مشخص میکند که فایلهای حقوقی و قانونی از آنجا به مستندات تولیدشده کپی شوند. اگر گزینه مشخص نشده باشد یا با مقدار default استفاده شود، فایلها از مکان پیشفرض کپی میشوند. اگر آرگومان با مقدار none استفاده شود، هیچ فایلی کپی نمیشود. هر آرگومان دیگر به عنوان دایرکتوری در نظر گرفته میشود که فایلهای حقوقی باید از آن کپی شوند.
- --no-frames
- این گزینه بیاثر (no-op) است و صرفاً برای سازگاری با گذشته حفظ شده است.
- -Xdoclint
- بررسیهای توصیهشده را برای مشکلات موجود در کامنتهای مستندسازی فعال میکند.
بهطور پیشفرض، گزینه -Xdoclint فعال است. آن را با گزینه -Xdoclint:none غیرفعال کنید.
برای جزئیات بیشتر، بخش DocLint را ببینید.
- -Xdoclint:فلگ,فلگ,...
- بررسیهای خاص را برای انواع مختلف مشکلات در کامنتهای مستندسازی فعال یا غیرفعال میکند.
هر فلگ میتواند یکی از مقادیر all، none، یا [-]گروه باشد که در آن گروه یکی از مقادیر زیر را دارد: accessibility، html، missing، reference، syntax. برای جزئیات بیشتر در مورد این مقادیر، بخش گروههای DocLint را ببینید.
هنگام مشخص کردن دو یا چند فلگ، میتوانید از یک گزینه واحد -Xdoclint:... استفاده کنید و تمام فلگهای مورد نظر را فهرست نمایید، یا میتوانید از چندین گزینه استفاده کنید که در هر گزینه یک یا چند فلگ قید شده باشد. برای مثال، از هر یک از دستورات زیر برای بررسی مشکلات HTML، نحو و دسترسیپذیری در فایل MyFile.java استفاده کنید.
-
javadoc -Xdoclint:html -Xdoclint:syntax -Xdoclint:accessibility MyFile.java javadoc -Xdoclint:html,syntax,accessibility MyFile.java
مثالهای زیر نحوه تغییر مواردی را که DocLint گزارش میدهد نشان میدهند:
- •
- -Xdoclint:none --- تمام بررسیها را غیرفعال میکند
- •
- -Xdoclint:گروه --- بررسیهای گروه را فعال میکند
- •
- -Xdoclint:all --- تمام گروههای بررسی را فعال میکند
- •
- -Xdoclint:all,-گروه --- تمام بررسیها به جز بررسیهای گروه را فعال میکند
برای جزئیات بیشتر، بخش DocLint را ببینید.
- -Xdoclint/package:[-]بستهها
- بررسیها را در بستههای خاص فعال یا غیرفعال میکند. بستهها فهرستی از مشخصکنندههای بسته است که با کاما از هم جدا شدهاند. یک مشخصکننده بسته یا یک نام واجد شرایط از یک بسته است یا یک پیشوند نام بسته که به دنبال آن * میآید، که به تمام زیربستههای بسته دادهشده گسترش مییابد. پیشوند مشخصکننده بسته را با - قرار دهید تا بررسیها برای بستههای مشخصشده غیرفعال شوند.
برای جزئیات بیشتر، بخش DocLint را ببینید.
- -Xdocrootparent url
- تمام موارد @docRoot را که با /.. در کامنتهای مستندسازی دنبال میشوند با url جایگزین میکند.
داکلینت (DOCLINT)
ابزار DocLint قابلیت بررسی مشکلات احتمالی در کامنتهای مستندسازی را فراهم میکند. مشکلات ممکن است بسته به شدت آنها به صورت هشدار یا خطا گزارش شوند. برای مثال، کامنت گمشده ممکن است سبک بدی باشد که مستحق هشدار است، اما پیوند به یک اعلان ناشناخته جاوا جدیتر است و سزاوار خطا است. مشکلات در گروهها سازماندهی شدهاند، و گزینهها میتوانند برای فعال یا غیرفعال کردن پیامها در یک یا چند گروه استفاده شوند. در کد منبع، پیامهای یک یا چند گروه را میتوان با استفاده از حاشیهنویسیهای @SuppressWarnings بیصدا (suppress) کرد.
هنگامی که از javadoc فراخوانی میشود، بهطور پیشفرض DocLint تمام کامنتهایی را که در مستندات تولیدشده استفاده میشوند بررسی میکند. بنابراین برای تعیین اینکه کدام اعلانها و کامنتهای مستندسازی متناظر گنجانده خواهند شد، به سایر گزینههای خط فرمان متکی است. توجه: این ممکن است به این معنی باشد که حتی کامنتهای مربوط به برخی از اعضای خصوصی کلاسهای سریالیشدنی نیز در صورتی که اعضا نیاز به مستندسازی در صفحه Serialized Forms تولیدشده داشته باشند، بررسی خواهند شد.
در مقابل، هنگامی که DocLint از javac فراخوانی میشود، DocLint صرفاً به گزینههای مختلف -Xdoclint... متکی است تا تعیین کند کدام کامنتهای مستندسازی را بررسی کند.
ابزار DocLint تلاشی برای اصلاح ورودی نامعتبر نمیکند، فقط آن را گزارش میدهد.
توجه: ابزار DocLint کامل بودن این بررسیها را تضمین نمیکند. بهویژه، این یک بررسیکننده کامل انطباق HTML نیست. هدف صرفاً گزارش خطاهای رایج به روشی مناسب است.
گروهها (Groups)
بررسیهای انجامشده توسط DocLint در گروههایی سازماندهی شدهاند. هشدارها و خطاهای هر گروه را میتوان با گزینههای خط فرمان فعال یا غیرفعال کرد، یا با حاشیهنویسیهای @SuppressWarnings بیصدا نمود.
گروهها به شرح زیر هستند:
- •
- accessibility --- مشکلات مربوط به دسترسپذیری را بررسی میکند. برای مثال، صفت alt در عنصر <img> مشخص نشده باشد، یا صفتهای عنوان یا خلاصه در عنصر <table> مشخص نشده باشند.
اگر انتظار برود که یک ابزار اعتبارسنجی پاییندستی در فایلهای تولیدشده توسط javadoc خطایی گزارش دهد، مشکلات به عنوان خطا گزارش میشوند.
برای مرجع، راهنمای دسترسی به محتوای وب (WCAG) [https://www.w3.org/WAI/standards-guidelines/wcag] را ببینید.
- •
- html --- مشکلات رایج سطح بالای HTML را شناسایی میکند. برای مثال، قرار دادن عناصر بلوکی درون عناصر درونخطی، یا نبستن عناصری که به تگ پایانی نیاز دارند.
اگر انتظار برود که یک ابزار اعتبارسنجی پاییندستی در فایلهای تولیدشده توسط javadoc خطایی گزارش دهد، مشکلات به عنوان خطا گزارش میشوند.
برای مرجع، استاندارد زنده HTML [https://html.spec.whatwg.org/multipage] را ببینید.
- •
- missing --- کامنتها یا تگهای مستندسازی گمشده را بررسی میکند. برای مثال، کامنت گمشده در اعلان یک کلاس، یا تگ گمشده @param یا @return در کامنت برای اعلان یک متد.
مشکلات مربوط به موارد گمشده معمولاً به عنوان هشدار گزارش میشوند زیرا بعید است توسط ابزارهای اعتبارسنجی پاییندستی که ممکن است برای بررسی خروجی تولیدشده توسط javadoc استفاده شوند، به عنوان خطا گزارش شوند.
- •
- reference --- مشکلات مربوط به ارجاعات به عناصر Java API از تگهای کامنت مستندسازی را بررسی میکند. برای مثال، ارجاع در @see یا {@link ...} یافت نمیشود، یا نام نامناسبی برای @param یا @throws داده شده است.
مشکلات معمولاً به عنوان خطا گزارش میشوند زیرا اگرچه ممکن است این مشکل باعث ایجاد نقص در فایلهای تولیدشده نشود، اما نویسنده احتمالاً مرتکب اشتباهی شده است که منجر به مستندات نادرست یا غیرمنتظره خواهد شد.
- •
- syntax --- مشکلات نحوی سطح پایین در کامنتهای مستندسازی را بررسی میکند. برای مثال، براکتهای زاویهدار اسکیپنشده (< و >) و علامتهای آمپرسند (&) و تگهای نامعتبر کامنت مستندسازی.
مشکلات معمولاً به عنوان خطا گزارش میشوند زیرا ممکن است منجر به مستندات نادرست یا غیرمنتظره شوند.
بیصدا کردن پیامها (Suppressing Messages)
ابزار DocLint دو رشته را که ممکن است در آرگومانهای حاشیهنویسی @SuppressWarnings وجود داشته باشند بررسی کرده و تشخیص میدهد:
- •
- doclint
- •
- doclint:فهرست
که در آن فهرست یک لیست جداشده با کاما از یک یا چند مورد از accessibility، html، missing، syntax و reference است.
نامهای موجود در فهرست همان نامهای گروه هستند که توسط گزینه خط فرمان -Xdoclint برای javac و javadoc پشتیبانی میشوند. (این همان قراردادی است که توسط گزینه -Xlint در javac و نامهای متناظر پشتیبانیشده توسط @SuppressWarnings رعایت میشود).
نامهای موجود در فهرست را میتوان به طور معادل در آرگومانهای جداگانه حاشیهنویسی مشخص کرد. برای مثال موارد زیر معادل هستند:
- •
- @SuppressWarnings("doclint:accessibility,missing")
- •
- @SuppressWarnings("doclint:accessibility", "doclint:missing")
هنگامی که DocLint مشکلی را در یک کامنت مستندسازی تشخیص میدهد، وجود @SuppressWarnings را روی اعلان مربوطه و روی تمام اعلانهای محصورکننده از نظر لغوی بررسی میکند. اگر چنین حاشیهنویسی حاوی رشته ساده doclint یا فرم طولانیتر doclint:LIST (که در آن LIST حاوی نام گروه مربوط به آن مشکل است) یافت شود، مشکل نادیده گرفته خواهد شد.
توجه: مانند سایر کاربردهای @SuppressWarnings، استفاده از این حاشیهنویسی روی اعلان یک ماژول یا بسته فقط بر همان اعلان تأثیر میگذارد؛ بر محتویات ماژول یا بسته در سایر فایلهای منبع تأثیری ندارد.
تمام پیامهای مربوط به یک مشکل با وجود یک حاشیهنویسی مناسب @SuppressWarnings سرکوب میشوند: این شامل خطاها و همچنین هشدارها میشود.
توجه: فقط امکان بیصدا کردن (suppress) پیامها وجود دارد. اگر حاشیهنویسی @SuppressWarnings("doclint") روی یک اعلان سطح بالا داده شود، تمام پیامهای DocLint برای آن اعلان و هر اعلان محصور در آن سرکوب خواهند شد؛ فعالسازی مجدد انتخابی پیامها برای مشکلات موجود در اعلانهای محصور امکانپذیر نیست.
مقایسه با ابزارهای اعتبارسنجی پاییندستی
ابزار DocLint یک ابزار کاربردی ساختهشده در javac و javadoc است که محتوای کامنتهای مستندسازی را همانطور که در فایلهای منبع یافت میشوند بررسی میکند. در مقابل، ابزارهای اعتبارسنجی پاییندستی میتوانند برای اعتبارسنجی خروجی تولیدشده از آن کامنتهای مستندسازی توسط javadoc و داکلت استاندارد استفاده شوند.
اگرچه همپوشانیهایی در عملکرد وجود دارد، اما این دو مکانیسم متفاوت هستند و هر کدام نقاط قوت و ضعف خاص خود را دارند.
- •
- ابزارهای اعتبارسنجی پاییندستی میتوانند نتیجه نهایی هرگونه مستندات تولیدشده را همانطور که توسط کاربر نهایی دیده میشود بررسی کنند. این شامل محتوای تمام منابع، از جمله کامنتهای مستندسازی، خود داکلت استاندارد، تگلتهای ارائهشده توسط کاربر، و محتوای ارائهشده از طریق گزینههای خط فرمان است. از آنجا که چنین ابزارهایی صفحات کامل HTML را تجزیه و تحلیل میکنند، میتوانند بررسیهای کاملتری نسبت به DocLint انجام دهند. با این حال، هنگامی که مشکلی در صفحات تولیدشده یافت میشود، ردیابی دقیق اینکه مشکل در کجای خط لوله ساخت باید برطرف شود، میتواند دشوارتر باشد.
- •
- ابزار DocLint محتوای کامنتهای مستندسازی را در فایلهای منبع بررسی میکند. این امر شناسایی موقعیت دقیق هرگونه مشکل احتمالی را بسیار آسان میکند. ابزار DocLint همچنین میتواند برخی از خطاهای معنایی را در کامنتهای مستندسازی که ابزارهای پاییندستی قادر به تشخیص آنها نیستند شناسایی کند، مانند کامنتهای گمشده، استفاده از تگ @return در متدی که void برمیگرداند، یا تگ @param که یک پارامتر ناموجود را توصیف میکند. اما بر حسب ماهیت خود، DocLint نمیتواند مشکلاتی مانند پیوندهای گمشده، خطاها در تگلتهای سفارشی ارائهشده توسط کاربر، یا مشکلات درون خود داکلت استاندارد را گزارش کند. همچنین نمیتواند خطاها را در کامنتهای مستندسازی در مرزهای بین محتوای موجود در یک کامنت مستندسازی و محتوای تولیدشده توسط یک تگلت سفارشی به طور قابل اعتمادی شناسایی نماید.
| 2023 | JDK 21 |