تشغيل برامج جافا من سطر الأوامر: دليل شامل ومفصل

تشغيل برامج جافا من سطر الأوامر: دليل شامل ومفصل

تعتبر جافا واحدة من أكثر لغات البرمجة شيوعًا واستخدامًا في العالم، وتعتمد العديد من التطبيقات والأنظمة عليها. أحد الأمور الأساسية التي يجب على كل مبرمج جافا معرفتها هي كيفية ترجمة وتشغيل برامج جافا باستخدام سطر الأوامر (Command Line Interface – CLI). هذه المهارة ضرورية لفهم كيفية عمل جافا من الداخل، وتشخيص المشكلات، وأتمتة بعض المهام. في هذا الدليل الشامل، سنشرح بالتفصيل كيفية ترجمة وتشغيل برامج جافا من سطر الأوامر خطوة بخطوة.

المتطلبات الأساسية

قبل البدء، تأكد من أن لديك المتطلبات الأساسية التالية:

  1. تثبيت Java Development Kit (JDK): يجب أن يكون لديك JDK مثبتًا على جهازك. يمكنك تنزيله من موقع Oracle أو من توزيعات JDK مفتوحة المصدر مثل AdoptOpenJDK أو Amazon Corretto.
  2. إعداد متغيرات البيئة (Environment Variables): بعد تثبيت JDK، يجب عليك إعداد متغيرات البيئة `JAVA_HOME` و `PATH` بشكل صحيح.
  3. محرر نصوص: محرر نصوص لكتابة كود جافا (مثل Notepad++، VS Code، IntelliJ IDEA، أو أي محرر آخر تفضله).

الخطوة الأولى: التحقق من تثبيت JDK وإعداد متغيرات البيئة

للتحقق من تثبيت JDK وإعداد متغيرات البيئة، اتبع الخطوات التالية:

  1. افتح موجه الأوامر (Command Prompt) أو الطرفية (Terminal):
    • في نظام Windows: اضغط على زر Windows، ثم اكتب `cmd` واضغط Enter.
    • في نظام macOS أو Linux: افتح التطبيق Terminal.
  2. تحقق من إصدار جافا: اكتب الأمر التالي واضغط Enter:
    java -version

    إذا تم تثبيت جافا بشكل صحيح، سترى معلومات حول إصدار جافا المثبت.

  3. تحقق من إصدار مترجم جافا (javac): اكتب الأمر التالي واضغط Enter:
    javac -version

    إذا تم تثبيت مترجم جافا بشكل صحيح، سترى معلومات حول إصدار المترجم.

  4. إذا لم يتم العثور على الأوامر: إذا ظهرت رسالة خطأ تفيد بأنه لم يتم العثور على الأمر `java` أو `javac`، فهذا يعني أن متغيرات البيئة لم يتم إعدادها بشكل صحيح. اتبع الخطوات التالية لإعدادها:
    • في نظام Windows:
      1. ابحث عن “Edit the system environment variables” في قائمة ابدأ وافتحها.
      2. انقر على زر “Environment Variables”.
      3. في قسم “System variables”، انقر على “New…” لإنشاء متغير جديد.
      4. أدخل `JAVA_HOME` في خانة “Variable name” وأدخل مسار مجلد JDK (مثل `C:\Program Files\Java\jdk1.8.0_291`) في خانة “Variable value”.
      5. ابحث عن المتغير `Path` في قسم “System variables”، وانقر على “Edit…”.
      6. انقر على “New” وأضف `%JAVA_HOME%\bin`.
      7. انقر على “OK” لحفظ التغييرات.
    • في نظام macOS أو Linux:
      1. افتح ملف `.bash_profile` أو `.zshrc` أو `.bashrc` (حسب نظامك) في محرر نصوص. يمكنك العثور عليه في مجلد المستخدم الخاص بك (عادةً `/Users/اسم_المستخدم`).
      2. أضف الأسطر التالية إلى الملف (مع استبدال `/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home` بالمسار الصحيح لمجلد JDK الخاص بك):
        export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_291.jdk/Contents/Home
        export PATH=$JAVA_HOME/bin:$PATH
      3. احفظ الملف وأغلقه.
      4. قم بتحديث ملف التعريف الخاص بك عن طريق تشغيل الأمر التالي في الطرفية:
        source ~/.bash_profile

        أو

        source ~/.zshrc

        أو

        source ~/.bashrc
  5. أعد تشغيل موجه الأوامر أو الطرفية: بعد إعداد متغيرات البيئة، أغلق موجه الأوامر أو الطرفية وأعد فتحه لكي يتم تطبيق التغييرات.
  6. أعد التحقق من الإصدار: كرر الخطوتين 2 و 3 للتحقق من أن الأوامر `java` و `javac` تعمل الآن بشكل صحيح.

الخطوة الثانية: كتابة برنامج جافا بسيط

الآن، لنكتب برنامج جافا بسيطًا لحساب مجموع رقمين:

  1. افتح محرر النصوص: افتح محرر النصوص الذي تفضله.
  2. اكتب الكود التالي:
    public class Sum {
        public static void main(String[] args) {
            int num1 = 10;
            int num2 = 20;
            int sum = num1 + num2;
            System.out.println("The sum of " + num1 + " and " + num2 + " is: " + sum);
        }
    }
  3. احفظ الملف: احفظ الملف باسم `Sum.java`. تأكد من أن اسم الملف مطابق لاسم الفئة (class name) في الكود، وأن اللاحقة هي `.java`.

الخطوة الثالثة: ترجمة برنامج جافا

لترجمة برنامج جافا، استخدم الأمر `javac` في سطر الأوامر:

  1. افتح موجه الأوامر أو الطرفية: افتح موجه الأوامر أو الطرفية.
  2. انتقل إلى المجلد الذي يحتوي على ملف `Sum.java`: استخدم الأمر `cd` للانتقال إلى المجلد الذي يحتوي على ملف `Sum.java`. على سبيل المثال، إذا كان الملف موجودًا في المجلد `C:\Users\YourName\Documents\Java`, فاكتب:
    cd C:\Users\YourName\Documents\Java

    (استبدل `C:\Users\YourName\Documents\Java` بالمسار الصحيح).

  3. ترجمة الملف: اكتب الأمر التالي واضغط Enter:
    javac Sum.java

    إذا لم تظهر أي أخطاء، فهذا يعني أن الملف قد تمت ترجمته بنجاح. سيتم إنشاء ملف جديد باسم `Sum.class` في نفس المجلد. هذا الملف يحتوي على الشفرة الثنائية (bytecode) التي يمكن تشغيلها بواسطة Java Virtual Machine (JVM).

  4. في حالة وجود أخطاء: إذا ظهرت أخطاء أثناء الترجمة، فاقرأ رسائل الخطأ بعناية وحاول إصلاح الأخطاء في الكود ثم أعد الترجمة.

الخطوة الرابعة: تشغيل برنامج جافا

لتشغيل برنامج جافا، استخدم الأمر `java` في سطر الأوامر:

  1. تأكد من أنك في المجلد الصحيح: تأكد من أنك في المجلد الذي يحتوي على ملف `Sum.class`.
  2. تشغيل الملف: اكتب الأمر التالي واضغط Enter:
    java Sum

    (لاحظ أنك لا تحتاج إلى إضافة اللاحقة `.class` عند تشغيل الملف).

  3. النتيجة: سيتم عرض نتيجة البرنامج في سطر الأوامر:
    The sum of 10 and 20 is: 30

التعامل مع الحزم (Packages)

في البرامج الأكبر حجمًا، يتم تنظيم الكود عادةً في حزم (packages). إذا كان برنامجك يستخدم حزمًا، فيجب عليك التأكد من أنك تقوم بترجمة وتشغيل البرنامج بشكل صحيح.

ترجمة ملفات جافا في حزم

لنفترض أن لديك الملف `Sum.java` موجودًا في الحزمة `com.example`، وأن هيكل المجلد الخاص بك هو:

`src/
  com/
    example/
      Sum.java`

في هذه الحالة، يجب عليك ترجمة الملف `Sum.java` من المجلد `src` باستخدام الأمر التالي:

javac com/example/Sum.java

أو يمكنك استخدام الخيار `-d` لتحديد المجلد الذي سيتم وضع ملفات `.class` فيه:

javac -d . com/example/Sum.java

هذا الأمر سيقوم بإنشاء مجلد `com/example` في المجلد الحالي (`.`) ووضع الملف `Sum.class` فيه.

تشغيل ملفات جافا في حزم

لتشغيل الملف `Sum.class`، يجب عليك التأكد من أن Java Virtual Machine (JVM) يمكنه العثور على الحزمة `com.example`. يمكنك القيام بذلك عن طريق تحديد مسار الفئة (classpath) باستخدام الخيار `-cp` أو `-classpath`:

java -cp . com.example.Sum

هذا الأمر يخبر JVM بالبحث عن الحزم في المجلد الحالي (`.`).

التعامل مع ملفات JAR

ملفات JAR (Java Archive) هي ملفات أرشيفية تستخدم لتجميع ملفات `.class` والموارد الأخرى (مثل الصور والملفات الصوتية وملفات التكوين) في ملف واحد. يمكن استخدام ملفات JAR لتوزيع التطبيقات بسهولة.

إنشاء ملف JAR

لإنشاء ملف JAR، يمكنك استخدام الأمر `jar`:

jar cf Sum.jar com/example/Sum.class

هذا الأمر سيقوم بإنشاء ملف JAR باسم `Sum.jar` يحتوي على الملف `Sum.class` الموجود في الحزمة `com/example`.

يمكنك أيضًا إضافة ملف Manifest لتحديد نقطة البداية (entry point) للتطبيق:

  1. إنشاء ملف Manifest: أنشئ ملفًا باسم `manifest.txt` يحتوي على التالي:
    Main-Class: com.example.Sum
  2. إنشاء ملف JAR: استخدم الأمر التالي:
    jar cfm Sum.jar manifest.txt com/example/Sum.class

تشغيل ملف JAR

لتشغيل ملف JAR، استخدم الأمر `java -jar`:

java -jar Sum.jar

أمثلة متقدمة

تمرير وسائط إلى البرنامج

يمكنك تمرير وسائط (arguments) إلى برنامج جافا عند تشغيله من سطر الأوامر. يتم تخزين هذه الوسائط في المصفوفة `args` في الدالة `main`.

public class Arguments {
    public static void main(String[] args) {
        System.out.println("Number of arguments: " + args.length);
        for (int i = 0; i < args.length; i++) {
            System.out.println("Argument " + i + ": " + args[i]);
        }
    }
}

لترجمة وتشغيل هذا البرنامج، اتبع الخطوات التالية:

  1. احفظ الملف: احفظ الملف باسم `Arguments.java`.
  2. ترجمة الملف:
    javac Arguments.java
  3. تشغيل الملف مع وسائط:
    java Arguments arg1 arg2 arg3

سيتم عرض عدد الوسائط والوسائط نفسها في سطر الأوامر.

استخدام المكتبات الخارجية

إذا كان برنامجك يعتمد على مكتبات خارجية، فيجب عليك تحديد مسار الفئة (classpath) للمكتبات عند ترجمة وتشغيل البرنامج.

لنفترض أن لديك مكتبة باسم `mylib.jar` وأن برنامجك يعتمد عليها.

import mylib.MyClass;

public class MyProgram {
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        obj.doSomething();
    }
}

لترجمة وتشغيل هذا البرنامج، اتبع الخطوات التالية:

  1. احفظ الملف: احفظ الملف باسم `MyProgram.java`.
  2. ترجمة الملف:
    javac -cp mylib.jar MyProgram.java
  3. تشغيل الملف:
    java -cp mylib.jar;. MyProgram

    (لاحظ أننا نستخدم `;.` لإضافة المجلد الحالي إلى مسار الفئة).

نصائح وحيل

  • استخدم علامات التبويب (Tabs) والمسافات (Spaces) بشكل متناسق: هذا يجعل الكود أسهل في القراءة والفهم.
  • اكتب تعليقات (Comments) لتوضيح الكود: التعليقات تساعدك أنت والآخرين على فهم الكود.
  • قسّم الكود إلى دوال (Functions) ووحدات (Modules) صغيرة: هذا يجعل الكود أسهل في الصيانة وإعادة الاستخدام.
  • استخدم نظام التحكم في الإصدار (Version Control System) مثل Git: هذا يسمح لك بتتبع التغييرات في الكود والتعاون مع الآخرين.
  • اختبر الكود بانتظام: هذا يساعدك على اكتشاف الأخطاء في وقت مبكر.
  • اقرأ وثائق جافا (Java Documentation): وثائق جافا تحتوي على معلومات مفصلة حول جميع جوانب اللغة.
  • ابحث عن حلول للمشاكل على الإنترنت: هناك العديد من المواقع والمنتديات التي تقدم حلولًا للمشاكل التي قد تواجهك.

الخلاصة

في هذا الدليل الشامل، تعلمنا كيفية ترجمة وتشغيل برامج جافا من سطر الأوامر. هذه المهارة ضرورية لكل مبرمج جافا، وتساعدك على فهم كيفية عمل جافا من الداخل وتشخيص المشكلات وأتمتة بعض المهام. لقد تعلمنا كيفية إعداد متغيرات البيئة، وكتابة وترجمة وتشغيل برامج جافا بسيطة، والتعامل مع الحزم وملفات JAR، وتمرير وسائط إلى البرنامج، واستخدام المكتبات الخارجية. نأمل أن يكون هذا الدليل مفيدًا لك في رحلتك لتعلم جافا.

أتمنى أن يكون هذا المقال مفيدًا لك. بالتوفيق في تعلم جافا!

**ملاحظة:** تم كتابة هذا المقال مع الأخذ في الاعتبار أن القارئ لديه معرفة أساسية ببرمجة جافا.

0 0 votes
Article Rating
Subscribe
Notify of
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments