requires
کلیدواژه requires در فایل module-info.java می گوید «ماژول (Module) من به کدام ماژول ها وابسته است». ماژول یعنی بسته منظمِ کد، مثل پوشه درس ها در مدرسه.
requires در جاوا چیست؟
طبق منبع، requires یک دستور ماژولی است. این دستور وابستگی این ماژول به ماژول های دیگر را اعلام می کند.
module mymodule {
requires module1;
requires transitive module2;
requires static module3;
}
دو مودیفایر مهم: transitive و static
transitive یعنی اگر A به B وابسته است و B به C وابسته است، کاربران A دیگر نیاز ندارند C را جداگانه اعلام کنند. مثل اینکه نماینده کلاس، حضور همه گروه را یک جا ثبت کند.
static یعنی وابستگی در زمان اجرا اختیاری است. برنامه می تواند بدون آن ماژول هم اجرا شود. مثل افزونه اختیاری در یک بازی موبایل.
گام های تمرینی
- یک پروژه ماژولار بساز.
- فایل module-info.java را ایجاد کن.
- وابستگی ها را با
requiresبنویس.
نکته: این کلیدواژه مخصوص فایل module-info.java است.
هشدار: نام ماژول ها باید دقیق و موجود باشند؛ وگرنه خطا می گیری.
برای آشنایی با تعریف ماژول، صفحه module را ببین. همچنین برای مرور سریع requires در جاوا این صفحه را نگه دار.
جمع بندی سریع
- requires وابستگی ماژول را اعلام می کند.
- transitive وابستگی را به مصرف کننده ها منتقل می کند.
- static وابستگی را در اجرا اختیاری می کند.
- همه در module-info.java نوشته می شوند.