کامپایل و اجرای برنامه های جاوا در خط فرمان

خب اول که JDK رو نصب میکنیم.
محیط کار من: windows xp sp3

این کد مثال ماست:
public class Test {
public static void main(String args[]){
System.out.println("hello world!");
Internal.t();
}
}

class Internal {
public static void t() {
System.out.println("internal");
}
}

در هر فایل جاوا فقط یک کلاس public باید وجود داشته باشه (ولی کلاسهای غیر public هم میتونن موجود باشن)، و اسم فایل هم باید با اسم کلاس یکسان باشه (حتی کوچکی و بزرگی حروف هم باید یکسان باشه). پس ما این برنامه رو در فایلی بنام Test.java ذخیره میکنیم.

برای کامپایل، دایرکتوری جاری خط فرمان رو به پوشه ای که این فایل درش هست میبریم. بعد با فرمان:
javac.exe Test.java
برنامه رو کامپایل میکنیم.
البته دقت کنید که اینجا به شکل کلی و برای سادگی فقط نوشتم javac.exe، وگرنه در واقعیت اگر javac.exe در مسیر فایلهای اجرایی سیستم شما نباشه اونوقت باید آدرس کاملش رو در خط فرمان درج کنید (میتونید با کشیدن آیکون این فایل از پوشهء bin واقع در پوشهء نصب JDK به پنجرهء خط فرمان، این کار رو انجام بدید).

خب بعد از کامپایل، یک فایل بنام Test.class در پوشهء برنامه ایجاد میشه. ما میتونیم این فایل رو به این شکل مستقیما اجرا کنیم:
java Test
دقت کنید که پسوند فایل (class) رو نباید درج کنیم.

میشه مستقیما فایلهای کامپایل شدهء جاوا رو که پسوند class دارن اجرا کرد، ولی در برنامه های حرفه ای حجیم تر که شامل چندین فایل هستن میان و تمام فایلهای برنامه رو به شکل یک فایل با پسوند jar درمیارن. فایل های jar هیچ چیز خاص و پیچیده ای نیستن و درواقع یک فایل آرشیو فشرده شده هستن که تمام فایلهای برنامه رو در خودش ذخیره میکنه. حتی میتونید یک فایل jar رو با برنامه هایی مثل winrar هم باز کنید و محتویاتش رو ببینید یا حتی استخراج یا دستکاری کنید، چون فرمت آرشیو و فشرده سازی فایل jar تاجاییکه میدونم همون فرمت zip است.

خب حالا ما برنامهء خودمون رو به این شکل به فایل jar تبدیل میکنیم:
اول یک فایل به اسم manifest.txt ایجاد میکنیم (البته اسم این فایل میتونه چیز دیگه هم باشه ولی استاندارد عرفش manifest.txt است) و توش این متن رو درج و ذخیره میکنیم:
Main-Class: Test
این بخاطر اینه که معرفی کنیم از فایلها/کلاسهای ما کدومش حاوی entry point برنامه (متد main که برنامه با اجرای اون شروع میشه) است.
خب بعد با این فرمان فایل jar رو میسازیم:
jar.exe cvfm test.jar manifest.txt *.class
حالا میتونیم به این شکل در خط فرمان فایل jar رو اجرا کنیم:
java -jar test.jar

وقتی جاوا روی سیستمی نصب باشه، با دابل کلیک روی فایل jar هم میشه اون رو اجرا کرد، ولی چون برنامهء ما تحت کنسول است باید از طریق خط فرمان اجراش کنیم و روی ویندوز روش کلیک درموردش کار نمیکنه، برای اینکه بتونیم از طریق کلیک برنامهء خودمون رو اجرا کنیم میتونیم یک فایل با پسوند bat درست کنیم و این کدها رو داخلش درج کنیم:
@echo off
java -jar test.jar

اینطور وقتی بچ فایل رو با کلیک اجرا میکنیم، عملا برنامهء ما در خط فرمان اجرا میشه.
البته ما میتونیم فایل class رو هم به همین شکل اجرا کنیم و این روش برای هردوی فایل class و فایل jar عمل میکنه:
@echo off
java Test

خب این تا اینجا!
اما برنامه های جدی تر و حرفه ای جاوا از دسته بندی و ساختار سلسله مراتبی با استفاده دستور package هم استفاده میکنن، و دستورات خط فرمان که در این پست ارائه کردم برای اینکه با اون نوع برنامه ها هم قابل استفاده باشن نیاز به مقداری تغییرات دارن که مقداری پیچیده تره، البته نه خیلی، که انشاا… در مقالهء بعدی قصد دارم این مطلب رو ارائه کنم.

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

*

شما می‌توانید از این دستورات HTML استفاده کنید: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>