في عالم البرمجة، Java كانت واحدة من أهم لغات البرمجة. Java هي لغة برمجة عالية المستوى تتبع مفهوم أنظمة البرمجة كائنية التوجه. وهي أيضًا لغة مستقلة عن النظام الأساسي وتنشئ تطبيقات تعمل على منصات متعددة. Java موجودة في كل مكان – الخدمات المصرفية والمعاملات، وأطر عمل الويب، والألعاب (Minecraft)، وحتى أنظمة تشغيل الأجهزة المحمولة (Android).
في هذا الدليل، سنرشدك خلال خطوات تثبيت Java على CentOS و Fedora.
المتطلبات الأساسية
يتطلب إجراء تغييرات على مستوى النظام صلاحيات sudo. ومع ذلك، يوصى باستخدام مستخدم غير جذري (non-root) يتمتع بصلاحيات sudo أثناء تنفيذ هذه الإجراءات. يمكنك الرجوع إلى البرنامج التعليمي الخاص بنا لمعرفة كيفية إدارة صلاحيات sudo للمستخدمين باستخدام ملف sudoers. للحصول على تفاصيل عميقة حول إرشادات إعداد وتكوين خادم CentOS، راجع هذا البرنامج التعليمي.
إصدارات Java المتنوعة
هناك نوعان من إصدارات Java المختلفة المتاحة:
- الإصدار القياسي - Java SE
- إصدار المؤسسات - Java EE
- إصدار المايكرو - Java ME
على الرغم من أن جميعها لها حصتها في هذه الصناعة، إلا أن معظم تطبيقات Java يتم تطويرها باستخدام Java SE. سيوضح هذا الدليل كيفية تثبيت Java SE.
تأتي Java SE في نوعين من الحزم:
- JRE: وهي اختصار لـ Java Runtime Environment. وهي مهمة لتشغيل أي تطبيق Java. تتكون حزمة JRE من الملفات الثنائية والمكتبات اللازمة التي توفر JVM (آلة جافا الافتراضية) والأدوات المساعدة.
- JDK: وهي اختصار لـ Java Development Kit. تتضمن JDK جميع الأدوات والمكتبات اللازمة لتطوير تطبيقات Java وتصحيح أخطائها. تشتمل أي حزمة JDK أيضًا على نسخة من JRE.
هناك نسختان رئيسيتان لتطبيق Java: Oracle Java و OpenJDK. OpenJDK هو مشروع مفتوح المصدر يشكل الأساس الأولي للغة Java نفسها. تقوم Oracle Java بتطبيق OpenJDK مع بعض الأكواد البرمجية المملوكة لها.
تتمتع كلتا نسختي Java بسياسات ترخيص مختلفة. منذ إصدار Java 9، تم ترخيص إصدارات OpenJDK بموجب GPLv2+CPE (GPLv2 مع استثناء Classpath). من ناحية أخرى، يتم إصدار Oracle Java بموجب اتفاقية ترخيص OTN لـ Java SE.
أحدث تغيير سياسة الترخيص ضجة كبيرة في مجتمع Java. ومنذ ذلك الحين، توفرت نكهات متعددة من OpenJDK: AdoptOpenJDK, GraalVM, Liberica، إلخ.
أي إصدار Java SE تختار؟
مع كل الخيارات المتاحة، قد يكون من الصعب تحديد إصدار Java المناسب لك. سيناقش هذا القسم نطاق كل هذه الخيارات.
- JDK مقابل JRE
إنه خيار مباشر إلى حد ما. JDK، في أغلب الأحيان، مخصصة لمطوري Java. هل ترغب في تعلم أو تطوير تطبيقات Java؟ إذا كانت الإجابة بنعم، فإن JDK هي الخيار الأمثل.
إذا كنت بحاجة فقط إلى تشغيل برامج Java، فاختر JRE. سيعمل تثبيت JDK أيضًا، ولكن من حيث الكفاءة، فهو أمر زائد عن الحاجة.
- OpenJDK مقابل Oracle
يتوفر كل من OpenJDK و Oracle Java مجانًا. ومع ذلك، اعتمادًا على بيئة النشر، قد تخضع Oracle Java لرسوم. يرتبط التسعير بدورة إصدار Java. يتم إصدار نسخة جديدة من Java كل ستة أشهر. ومع كل إصدار جديد، لن تتلقى الإصدارات الأقدم أي تصحيحات أو إصلاحات للأخطاء أو تحسينات في قاعدة الأكواد العامة.
أما بالنسبة لبيئة النشر، فإن Oracle Java مجانية طالما يتم استخدامها لأغراض تعليمية وللاستخدام الشخصي. وعندما يتعلق الأمر ببيئة الإنتاج الخاصة بالشركات، فقد تخضع لرسوم. إذا كانت الشركات بحاجة إلى دعم لإصدار أقدم من Java، فإن Oracle تقدم دعمًا ممتدًا مقابل رسوم.
هل أنت فرد يستخدم Java للاستخدام الشخصي فقط؟ إذًا سيعمل أي منهما معك. هل أنت مهتم بنشر Java لشركتك/مؤسستك؟ تتوفر Oracle Java مقابل دفع رسوم. بدلاً من ذلك، يمكنك إلقاء نظرة على نكهات OpenJDK. تأتي نسخة OpenJDK الأساسية بدون دعم، ولكن تقدم نكهات OpenJDK المتنوعة (AdoptOpenJDK، و Amazon Corretto، و Azul Zulu، وما إلى ذلك) دعمًا طويل الأجل لجميع الإصدارات الرئيسية مجانًا.
- نكهة OpenJDK
من حيث الوظائف، تقدم جميع إصدارات OpenJDK نفس التجربة تقريبًا. وعمومًا، فإن الميزات الثانوية المختلفة (وبعض الميزات الرئيسية) هي التي تميز كل إصدار من إصدارات OpenJDK. يتبع إصدار OpenJDK الأصلي (vanilla)، من حيث التصحيحات وإصلاح الأخطاء، نمطًا مشابهًا لـ Oracle Java. بمجرد إصدار نسخة Java جديدة، لن تتلقى الإصدارات الأقدم أي تحديثات مستقبلية. ومع ذلك، لا تزال إصدارات OpenJDK الأقدم مجانية للاستخدام.
وهنا يأتي دور الإصدارات الأخرى. تقدم إصدارات OpenJDK هذه عمومًا دعمًا للإصدارات القديمة والجديدة لفترة أطول مما تقدمه Oracle رسميًا. وتحظى بعض هذه المشاريع برعاية من عمالقة الصناعة.
تثبيت Java
في وقت كتابة هذا المقال، كان أحدث إصدار LTS هو Java 11. يوصى باستخدام إصدار Java LTS (الدعم طويل الأمد) لأنه سيتلقى التحديثات لأطول فترة. من المقرر أن تتلقى إصدارات OpenJDK لـ Java 11 LTS الدعم حتى عام 2030.
-
تثبيت Oracle JDK
Oracle JDK 16
تقدم Oracle حزمًا قابلة للتثبيت لنظام التشغيل Linux. يتوفر JDK من Oracle كحزم DEB و RPM و TAR.GZ. نظرًا لأننا نعمل مع CentOS و Fedora، فإن هدفنا هو حزمة Oracle JDK RPM.
تقدم Oracle فقط أحدث إصدار من JDK متاح للتنزيل العام. بالنسبة للإصدارات الأقدم، تحتاج إلى حساب Oracle للوصول إليها. في وقت الكتابة، أحدث إصدار من Java هو Java 16. أولاً، تحقق من صفحة تنزيل Oracle JDK 16:

لتثبيت حزمة Java على CentOS، قم بتشغيل الأمر التالي:
|
1 |
sudo yum localinstall jdk-16.0.1_linux-x64_bin.rpm |

لتثبيت حزمة Java على Fedora، قم بتشغيل الأمر التالي:
|
1 |
sudo rpm -Uvh --nodeps ./jdk-16.0.1_linux-x64_bin.rpm |
Oracle JDK 11
تحقق من صفحة تنزيل Oracle JDK 11. ثم قم بتنزيل حزمة RPM. حان الوقت الآن لتثبيت الحزمة. لتثبيت حزمة RPM على CentOS، قم بتشغيل الأمر التالي:
|
1 |
sudo yum localinstall jdk-11.0.11_linux-x64_bin.rpm |
لتثبيت حزمة RPM على Fedora، قم بتشغيل الأمر التالي:
|
1 |
sudo rpm -Uvh --nodeps ./ jdk-11.0.11_linux-x64_bin.rpm |
Oracle JDK 8
على الرغم من إصدار نسخ أحدث، تظل Java 8 واحدة من أكثر الإصدارات شعبية بين المطورين. ومن المفهوم أن الصناعة تتجه ببطء نحو الإصدارات الأحدث، ولكن لا تزال Java 8 تحتل مرتبة عالية من حيث الشعبية. وهي متوفرة أيضًا كحزم RPM قابلة للتثبيت من موقع Oracle الرسمي. تحقق من صفحة تنزيل Oracle JDK 8. بعد ذلك، قم بتنزيل حزمة RPM على نظامك.
لتثبيت حزمة RPM على Fedora، قم بتشغيل الأمر التالي:
|
1 |
sudo rpm --Uvh --nodeps ./jdk-8u291-linux-x64.rpm |
لتثبيته على CentOS، قم بتشغيل الأمر التالي:
|
1 |
sudo yum localinstall jdk-8u291-linux-x64.rpm |
-
تثبيت OpenJDK
OpenJDK 16
تتوفر حزم OpenJDK مباشرة من خوادم الحزم الرسمية. كل ما عليك فعله هو إخبار مدير الحزم بتثبيت الحزمة. في كل من CentOS و Fedora، يتوفر OpenJDK 16 كحزمة java-16-openjdk-devel.
تثبيت OpenJDK 16 على CentOS:
|
1 |
sudo yum install java-16-openjdk-devel |
تثبيت OpenJDK 16 على Fedora:
|
1 |
sudo dnf install java-16-openjdk-devel |
OpenJDK 11
في كل من CentOS و Fedora، يتوفر OpenJDK 11 كـ java-11-openjdk-devel.
تثبيت OpenJDK 11 على CentOS:
|
1 |
sudo yum install java-11-openjdk-devel |

تثبيت OpenJDK 11 على Fedora:
|
1 |
sudo dnf install java-11-openjdk-devel |
OpenJDK 8
لحسن الحظ، يتوفر OpenJDK 8 أيضًا مباشرة من خوادم الحزم الرسمية. في كل من CentOS و Fedora، يتم تسمية حزمة OpenJDK كـ java-1.8.0-openjdk-devel.
تثبيت OpenJDK 8 على Fedora:
|
1 |
sudo dnf install java-1.8.0-openjdk-devel |
تثبيت OpenJDK 8 على CentOS:
|
1 |
sudo yum install java-1.8.0-openjdk-devel |
إصدارات OpenJDK
تعد إصدارات OpenJDK خيارًا مثيرًا للاهتمام لكل من المستخدمين الشخصيين ومستخدمي الشركات/المؤسسات. يقدم العديد منها دعمًا طويل الأجل لإصدارات Java المختلفة دون أي تكلفة.
- تثبيت AdoptOpenJDK
يعد AdoptOpenJDK إصدارًا آخر من OpenJDK يحظى بشعبية كبيرة. تتوفر جميع بنيات OpenJDK مجانًا. إنه مشروع مدعوم من مطوري Java، والشركات المصنعة (Amazon و IBM و Azul و Microsoft و Red Hat وغيرها). تقدم ملفات AdoptOpenJDK الثنائية دعمًا مجتمعيًا وتجاريًا.
لتثبيت AdoptOpenJDK، سنستفيد من مستودع الطرف الثالث الذي يوفر حزم DEB و RPM الجاهزة لأنظمة Debian/Ubuntu و CentOS/RHEL/Fedora و openSUSE/SLES. تم وصف المستودع والحزم المتاحة بإيجاز في هذا المقال: AdoptOpenJDK — ملفات RPM و DEB.
أولاً، نحتاج إلى تثبيت مستودع الطرف الثالث. إنه أكثر تعقيدًا قليلاً من الطرق الأخرى الموضحة في هذا الدليل. باختصار، سيتعين علينا إنشاء إدخال المستودع يدويًا. أنشئ مستودعًا جديدًا adoptopenjdk.repo. لاحظ أنه يجب عليك تشغيل الأمر كمستخدم root:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
بعد ذلك، أدخل الكود التالي. اعتمادًا على إصدار CentOS الخاص بك، قم بتحديث baseurl الإدخال وفقًا لذلك:
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/centos/7/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

على Fedora، أدخل الكود التالي بدلاً من ذلك. اعتمادًا على إصدار Fedora، قم بتحديث baseurl الإدخال وفقًا لذلك. لا تنسَ تشغيل الأمر كمستخدم root:
|
1 |
cat <<EOF > /etc/yum.repos.d/adoptopenjdk.repo |
|
1 2 3 4 5 6 7 |
[AdoptOpenJDK] name=AdoptOpenJDK baseurl=https://adoptopenjdk.jfrog.io/adoptopenjdk/rpm/fedora/33/$(uname -m) enabled=1 gpgcheck=1 gpgkey=https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public EOF |

تم تكوين المستودع الآن. بعد ذلك، تحقق مما إذا كان YUM/DNF يتعرف على المستودع الجديد:
|
1 |
sudo yum repolist |

|
1 |
sudo dnf repolist |

الآن، يمكننا تثبيت حزم AdoptOpenJDK. تحقق من جميع الحزم المتاحة:
|
1 |
yum search adoptopenjdk |
|
1 |
dnf search adoptopenjdk |
لتثبيت AdoptOpenJDK 11 (hotspot) على Fedora، قم بتشغيل الأمر التالي:
|
1 |
sudo dnf install adoptopenjdk-11-hotspot |

لتثبيت AdoptOpenJDK 11 (hotspot) على CentOS، قم بتشغيل الأمر التالي:
|
1 |
sudo yum install adoptopenjdk-11-hotspot |
اختبار التثبيت
بعد تثبيت إصدار JDK الذي اخترته، قم بإجراء اختبار قصير للتحقق مما إذا كان التثبيت يعمل بشكل صحيح:
|
1 |
java -version |
|
1 |
javac -version |

تعيين Java الافتراضية
إذا كان نظامك يحتوي على العديد من إصدارات JDK المثبتة، فقد يؤدي ذلك إلى حدوث تعارضات. لتجنب المشاكل، يجب عليك تعيين أحدها كـ JDK الافتراضي. يمكننا تعيينه باستخدام الأمر alternatives . تتطلب بعض البرامج تكوينًا إضافيًا لمتغيرات البيئة لتحديد موقع JDK.
-
استخدام alternatives
على CentOS/Fedora، يقوم الأمر alternatives بإدارة الأوامر الافتراضية من خلال الروابط الرمزية. في حالة Java، فإنه مفيد للغاية. لتغيير إصدار Java الافتراضي، قم بتشغيل أمر alternatives التالي:
|
1 |
sudo alternatives --config java |

في المخرجات، سيقوم alternatives بطباعة جميع عمليات تثبيت Java. أدخل قيمة Selection لعملية تثبيت Java المفضلة لديك لتعيينها كافتراضية.
-
متغيرات البيئة
هناك عدد قليل من متغيرات البيئة المخصصة لـ Java. تصرح هذه المتغيرات عن موقع ملفات Java القابلة للتنفيذ. متغير البيئة الأكثر شيوعًا هو JAVA_HOME. قيمته هي المسار الكامل لتثبيت Java. قم بتعيين متغير البيئة:
|
1 |
export JAVA_HOME=<java_path> |

لتعيين JAVA_HOME لجميع المستخدمين في النظام، يجب عليك التصريح عن قيمته تحت /etc/environment:
|
1 |
sudo sh -c "echo export JAVA_HOME=<java_path> >> /etc/environment" |
أفكار أخيرة
أوضح هذا الدليل كيفية تثبيت Java على CentOS و Fedora. لقد قدمنا أيضًا إصدارات Java المختلفة حتى تتمكن من اختيار إصدار JDK الذي يناسب أسلوبك بشكل أفضل.
تعد Java لغة برمجة قوية. إنها واحدة من بيئات البرمجة القليلة التي تضع التطوير متعدد المنصات في المقام الأول. سيعمل أي برنامج Java تقريبًا على أي منصة أخرى مدعومة. كمطور، أنت في مأمن من القلق بشأن المنصة. وكمستخدم، يمكنك الاطمئنان إلى أن التطبيق المطلوب سيعمل على نظامك.
إذا كنت ترغب في تثبيت Java على Ubuntu بدلاً من ذلك، فراجع هذا البرنامج التعليمي.
حوسبة سعيدة!





التعليقات
لا توجد تعليقات بعد. كن أول من يعلق.