سلام دوستان :)
تو این نوشته مختصر قصد داریم یه برنامه HelloWorld از جاوا در پلتفرم های لینوکسی بنویسیم.
چون من خودم حدود دو روز درگیرش بودم تا بتونم تو لینوکس (مانجارو) از برنامه ساده HelloWorld خروجی بگیرم ?
و از چند تا سایت داخلی و خارجی به همراه یوتیوب بالاخره تونستم بفهمم مشکلش چیه و حالا میخوام اینو باهاتون به اشتراک بگذارم.
طبیعتا این آموزش برای مبتدیانی مثل خودم نوشته میشه و اگر بقیه اساتید لطف کنن و ایراداتش رو تو نظرات بگن تا برطرف کنیم ممنون خواهم شد!
خب همونطور که از تیتر نوشته معلومه ما میخوایم از وی اس کد به عنوان تکست ادیتور استفاده کنیم و از طریق ترمینال برنامه مون رو کامپایل کنیم وگرنه راه های دیگه ای مثل اکلیپس (eclipse IDE) و ... هم برای کد زدن در جاوا هست.
خب اول چک میکنیم ببینیم جاوا در توزیعمون نصب هست یا نه ، با دستور زیر راحت میشه فهمید.
java -version
اگه با خروجی بالا مواجه شدید یعنی جاوا روی سیستمتون نصبه ولی متاسفانه این نسخه نصب شده معمولا JRE - Java Runtime Envoirment هست و دارای کامپایلر جاوا یا همون javac نیست. (و یا مشکل دیگه ای پیش اومده)
برای همین بهتره نصب بودن javac رو هم چک کنیم. با این دستور :
javac -version
اگه در خروجی ورژن جاوا کامپایلر ذکر بشه یعنی روی سیستم نصبه و کامل کار میکنه و نیازی به ادامه موارد نیست و از تیتر بعدی ادامه بدید.
ولی اگه با همچین چیزی رو به رو شدید :
یعنی هنوز کار داریم!
به JDK - Java Development Kit نیاز داریم. برای نصبش دو راه وجود داره.
یکی اینکه برید سایت اوراکل و فایلش رو دانلود کنید و طبق دستوری که تو خود سایتش هست نصب کنید و یکی هم راه دوم که طبیعتا راهیه که ما ادامه میدیم نصب از طریق خط فرمانه.
توزیع های دیگه رو نمیدونم ولی اگه از لینوکس های آرچ بیس استفاده کنید به احتمال زیاد مجبورید از نسخه اوپن سورس JDK استفاده کنید.
پس پکیج jdk-openjdk رو نصب میکنیم. (زمانی که این نوشته را می خوانید احتمالاً نسخه jdk تغییر کرده)
Debian Base :
sudo apt install openjdk-11-jdk
Arch Base :
sudo pacman -S jdk-openjdk
این اصولا باید جاوا رو نصب کنه.
خب حالا آدرس زیر رو چک کنید:
/usr/lib/jvm/
باید با همچین فولدر هایی مواجه بشید:
فولدر مربوط به جاوا ورژن ۱۱ و داخل اون فولدر bin رو باز کنید.
باید توش با فایل javac مواجه بشید. حالا دوباره نصب بودن javac رو چک کنید.
javac -version
اگر جواب داد که چه خوب! برید از تیتر بعدی ادامه بدید. اگر جواب نداد این رو چک کنید :
/usr/lib/jvm/java-11-openjdk/bin/javac -version
این دیگه باید جواب بده وگرنه معنیش اینه که یا جاوا نصب نشده ، یا جای دیگه ای نصبش کردین که باید خودتون پیداش کنین (چون من نمیدونم شما کجای سیستمتون نصب میکنید !)
خب شما میتونید همیشه از این دستور استفاده کنید ولی چون این کار سخته ما میخوایم برای ترمینال تعریف کنید که همیشه از اونجا استفاده کنه برای همین باید به shell environment خودمون این رو بفهمونیم.
بیشتر توزیع ها از BASH - Bourne Again SHell استفاده میکنن برای همین من هم نحوه تنظیم کردن این رو توضیح میدم ، برای شل های دیگه مثل zsh و ... میتونید از این لینک استفاده کنید.
خب تو دایرکتوری هوم تون باید یه فایل مخفی به اسم
.bashrc
داشته باشین، با دسترسی روت اون فایل رو با یه تکست ادیتور باز کنید.
(اول کل متنش رو تو یه فایل تکست دیگه کپی کنید تا اگه کاراها جوری که میخواستیم پیش نرفت بکاپ داشته باشین)
خب حالا این دو خط رو به اون فایل اضافه کنید (مطمئن بشید آخرش به bin ختم بشه و بعد دونقطه داشته باشه) و سیوش کنید.
(توجه کنید که اگه آدرس جاییکه جاوا کامپایلر نصبه فرق داره تغییرش بدید و همینی که من نوشتم رو کپی پیست نکنید)
PATH=/usr/lib/jvm/java-11-openjdk/bin:$PATH export PATH
حالا اصولا باید بعد از یکبار ریستارت وقتی دستور javac -version رو اجرا میکنید ورژنش رو در خروجی بنویسه براتون.
خب با ویژوال استودیو کد که حتما آشنا هستید. بازش میکنیم و یک فایل HelloWorld.java میسازیم.
توش کد زیر رو مینویسم :
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } }
همونطور که حتما میدونید اسم فایل باید با اسم public class یکی باشه.
خب یه ترمینال جدید از منوی بالای وی اس کد باز میکنیم. به صورت پیشفرض تو دایرکتوری مربوطه باید باشه ، اگر هم نبود خودتون cd کنید به اونجا.
در مرحله بعدی با دستور زیر کد جاوامون رو که نوشتیم کامپایل می کنیم.
javac HelloWorld.java
باید فایلی به اسم HelloWorld.class ایجاد بشه، حالا برای اجرای برنامه از دستور زیر استفاده می کنیم. (دقت کنید که هیچ اکسنشنی نباید بنویسید آخرش)
java HelloWorld
و تمام !
چند مرحله قبلی رو تو این اسکرین شات بهتر میشه فهمید.
اگر خواستید بدونید حالا که تونستید برنامهتون رو اجرا کنید، چطور میشه همزمان از گیت هم برای مدیریت پروژه استفاده کنید، نوشتهی من رو در این مورد بخونید.