البحث في الموقع
المحتوى عن 'jdk'.
-
Android هو نظام تشغيل مفتوح المصدر مبني على نواة لينكس مع إضافة بعض التعديلات عليها ليعمل النظام على الهواتف المحمولة والحواسيب اللوحية، وغيرهما من الأجهزة الذكية المختلفة، ويتم تطوير إصدارات النظام بواسطة شركة جوجل. الطبقات الرئيسية المكونة لنظام أندرويد الصورة التالية توضح الهيكل الداخلي للأندرويد والطبقات الرئيسية المكونة لنظام التشغيل. ينقسم نظام التشغيل إلى خمس طبقات وظيفتها كالآتي: طبقة التطبيقات Application Layer (الطبقة العلوية) وهي الطبقة التي نتعامل معها دائمًا كمستخدمين لنظام التشغيل، فهي تحتوي على تطبيقات النظام والتطبيقات التي نقوم بتحميلها من المتجر -وهي الطبقة التي سيعمل فيها تطبيقك في آخر هذا الدرس-، أمثلة على ذلك تطبيق الاتصال وتطبيق البريد الإلكتروني وتطبيق المتصفح. الطبقة الخاصة ببيئة عمل التطبيقات Application Framework Layer تحتوي تلك الطبقة على مكتبات بُنيت بلغة الجافا خصّيصًا لنظام تشغيل أندرويد وتوفر هذه المكتبات طرق الوصول إلى الموارد الخاصة بالهاتف مما يجعل تطوير التطبيقات أسهل -وهي الطبقة التي سنتعامل معها كمطوري تطبيقات للأندرويد- وأمثلة على ذلك: View System: وهي مكتبة تحتوي على العناصر اللازمة لإنشاء واجهة المستخدم مثل TextViews و Buttons و Checkboxes و غيرها من العناصر الخاصة بواجهة المستخدم. Notification Manager: تحتوي هذه المكتبة على العناصر اللازمة لإنشاء و إرسال الإشعارات للمستخدم الخاصة بتطبيقك. Telephony Manager: وهي المكتبة المسؤولة عن استقبال و إرسال المكالمات الهاتفية من داخل تطبيقك. Location Manager: وهي المكتبة المسؤولة عن تحديد المواقع باستخدام GPS Sensors المتواجدة بالهاتف. أسفل هذه الطبقة سنجد طبقة خاصة تنقسم إلى جزئين: طبقة المكتبات المطورة بلغة C و ++C (المعروفة باسم Libraries Layer) وتحتوي هذه الطبقة على مكتبات مكتوبة بلغة C لقدرة لغة C على القيام بالمهام القوية بشكل كفء دون إهدار لموارد النظام. أمثلة على ذلك: SQLite: تستخدم للتعامل مع قواعد البيانات. OpenGL|ES: تستخدم للتعامل مع الرسوميات ثنائية و ثلاثية الأبعاد و تستخدم بشكل أكبر مع ثلاثية الأبعاد. FreeType: تستخدم للتعامل مع أنواع الخطوط المختلفة. Media FrameWork: تستخدم للتعامل مع الصيغ المختلفة لملفات الفيديو. Android Runtime و تحتوى هذه الطبقة على مجموعة من المكتبات والتي تجعل المطور قادر على برمجة التطبيقات باستخدام لغة الجافا. كما تحتوى على الآلة الافتراضية (Virtual Machine) المسؤولة عن تشغيل التطبيقات والتي تم تطويرها لكي تعمل على الهواتف المحمولة وتتميز باستهلاكها القليل للموارد من الذاكرة العشوائية والمعالج وبطارية الهاتف وتسمى بـ Dalvik Virtual machine. ويعمل كل تطبيق داخل نسخة خاصة به من الآلة الافتراضية مما يميزها بالأمان فالتطبيق لا يستطيع أن يرى باقي التطبيقات ولا يستطيع الوصول إلى بيانات من داخل الهاتف دون علم المستخدم ومنحه الصلاحيات اللازمة لذلك - تلك الصلاحيات التي يتم منحها للتطبيق عند تحميله من المتجر- لذلك ينصح بالتدقيق فيما يحتاجه التطبيق من صلاحيات وألا تقوم بتحميل تطبيقات ذات صلاحيات زائدة عن حاجة التطبيق لكي يعمل ، وصُممت الآلة الافتراضية بطريقة تجعل أكثر من نسخة من الآلة الافتراضية تعمل معًا بسلاسة وذلك لكي يصبح المستخدم قادراً على تشغيل واستخدام أكثر من تطبيق معًا دون الشعور باختلاف في الأداء. طبقة النواة (Kernel) وهي الطبقة المسؤولة عن التعامل مع العتاد المختلف للهواتف فتحتوي على التعريفات الأساسية الخاصة بهذا العتاد كما توفر طريقة أبسط للطبقة العلوية للوصول لمميزات العتاد وهي نفس نواة لينكس. تعتبر كل طبقة هي حلقة الوصل بينها وبين ما فوقها أو تحتها من طبقات، وكلما أتجهنا للأسفل كلما استُخدمت لغات وطرق أقرب في تعاملها مع العتاد كلغة C أو الأسمبلي مثلاً وكلما صعدنا للأعلى كلما استُخدمت لغات وطرق أسهل للمستخدم وتقدم خدمات غنية له كالجافا مثلاً. إصدارات أندرويد قبل البدء بتطوير التطبيقات ينبغي علينا معرفة ما هي إصدارات أندرويد، سأقوم سريعًا بذكر كافة إصدارات أندرويد المختلفة ورقم الإصدار ورقم الـ API الخاص بها. Cupcake 1.5 API 3 Dount 1.6 API 4 Eclair 2.0 API 5 Froyo 2.2 API 8 Gingerbread 2.3.3 API 10 Honeycomb 3.0 API 11 Ice Cream sandwich 4.0 API 14 Jellybean 4.1 API 16 Kitkat 4.4 API 19 Lollipop 5.0 API 22 Marshmallow 6.0 API 23 بعد أن تعرفنا على إصدارات أندرويد تبقى علينا معرفة عدد مستخدمي كل إصدار منهم لأنه ليس بالضرورة أن يكون أحدث إصدار هو الأفضل لتطوير التطبيقات من أجله، فعدد المستخدمين لهذا الإصدار أحد العوامل المحددة لذلك. تقوم جوجل شهرياً بنشر إحصائيات عن عدد مستخدمي كل إصدار من إصدارات أندرويد ويمكنك معرفتها عن طريق الرسم البياني التالي. لكل إصدار من إصدارات أندرويد مزايا خاصة أُضيفت له لم تكن متوافرة في الإصدارات الأقدم، ولكي تستطيع بناء هذه المزايا في تطبيقك ينبغي اختيار الإصدار الأدنى المناسب لمزايا تطبيقك لأنك تستطيع دعم المزايا الخاصة بالإصدار الأدنى فقط، لذا كلما قمنا بدعم إصدارات أقدم كلما فقدنا المزايا الحديثة وفي المقابل نحصل على عدد مستخدمين أكثر وإذا قمنا بدعم أحدث الإصدارات سوف نحصل على مزايا أكثر وعدد مستخدمين أقل. لذا سنختار الحد الأدنى الذي سنحتاجه من المزايا دون خسارة عدد المستخدمين، وإصدار Jellybean يتيح لك مزايا جيدة واستهداف عدد مستخدمين أكبر لأن تطبيقك سيعمل على كل من Jellybean و kitkat و lollipop و marshmallow وما سيأتي بعد ذلك من إصدارات أحدث وهو كما يتضح في الرسم البياني السابق أكثر من 90% من مستخدمي أندرويد، ولكنه لن يعمل على أي هاتف يعمل بإصدار أقدم من Jellybean. المتطلبات للبدء ببرمجة تطبيقات أندرويد كل ما تحتاجه هو حاسوب يعمل بأي نظام من أنظمة التشغيل الرئيسية -ويندوز أو لينكس أو ماك- لتبدأ معنا هذه الدروس. لا يوجد حاجة لمعرفة سابقة بلغة برمجة فسنتعلم معاً ما نحتاج إليه. هذه الدروس موجهة بشكل أساسي للمبتدئين. البرامج التي سنعمل عليها خلال الدروس القادمة: JDK Android Studio قم بتحميل هذه البرامج وبتثبيتها على جهازك. ملاحظة: ينبغي تثبيت JDK أولاً قبل البدء في تثبيت Android Studio حيث أنه يحتاج إليه عند التثبيت. إنشاء مشروع جديد الآن بعد الانتهاء من تثبيت البرامج اللازمة لتطوير تطبيقات أندرويد دعنا نُنشئ مشروعنا الأول وهو مشروع "أهلاً بالعالم Hello World". قم بفتح برنامج Android Studio واختر Start a new android studio project من القائمة. قم باختيار اسم التطبيق الخاص بك ثم اكتب نطاق موقعك – إن وجد – أو قم بكتابة الاسم كما هو موجود في الصورة وسيتم شرح فائدة هذا الاسم لاحقاً. اختر تطوير التطبيق من أجل Phone and Tablet ثم اختر إصدار Jellybean كإصدار أدنى كما ذكرنا سابقًا. اختر Blank Activity ثم أضغط Next. سنبقي هذه الخانات على حالتها الافتراضية حيث يمكننا تغييرها فيما بعد وأضغط Finish. تم إنشاء أول مشروع لك بنجاح. ملفات ومجلدات المشروع دعنا الآن نستعرض بيئة التطوير وما توفره لنا كمطورين من مزايا. على اليسار هناك ثلاثة ملفات / مُجلّدات رئيسية تكونت تلقائياً بداخل app وهي: manifests java res مجلد manifest والذي يحتوي على ملف AndroidManifest.xml ويعتبر هذا الملف مهم جداً لنظام أندرويد لما يقدمه من معلومات أساسية للنظام قبل أن يقوم بتشغيله، أبرز هذه المعلومات: يحتوي على اسم الحزمة Package Name: وهو اسم مميز للتطبيق لتمييزه عن باقي التطبيقات المتواجدة على الهاتف ، فمثلاً إن كان اسم تطبيقك Gallery و هناك تطبيق آخر على الهاتف يسمى Gallery كيف يستطيع النظام التفرقة بين صلاحيات كل منهما و معلوماتهما الخاصة؟ يقوم النظام بتمييزهما عن طريق Package Name لذا فهو يعتبر اسمًا مُميّزًا لتطبيقك لا ينبغي أن يتشابه مع Package Name لأي تطبيق آخر ، من أجل ذلك وضعت قواعد لتسمية الـ Package أهمها هو أن تجعل تطبيقك على هيئة اسم نطاق لموقعك - إن وجد – فمثلا نجد شركة Google عند تسمية حزم تطبيقاتها تستخدم com.google.appName فيكون لها اسم حزمة Package Name فريد لا يتكرر. ملحوظة: يتم تحديد Package Name عند إنشاء التطبيق في الخانة الخاصة بالـ Company Domain. يقوم بتعريف المكونات الأساسية التي يتكون منها التطبيق الخاص بك: سوف نتعرف على هذه المكونات في الدرس التالي، ويتكون التطبيق من أحد هذه المكونات أو أكثر على حسب حاجة التطبيق. يحتوي الإصدار الأدنى الذي يعمل التطبيق معه وهو ما قمنا بتحديده مسبقا عند إنشاء للمشروع. يحتوي على الصلاحيات التي سيعطيها النظام للتطبيق –إن وجدت-. يحتوي على الصلاحيات التي يجب على التطبيقات الأخرى أن تطلبها إن أرادت أن تتبادل معلومات مع تطبيقك. لذا يعتبر هذا الملف من الملفات الأساسية التي يعتمد عليها النظام في تحديد كيفية التعامل مع التطبيق وإذا لم يتم تحديد كل شيء بشكل صحيح فذلك يعرض تطبيقك إلى ألا يعمل. مجلد java يختص هذا المُجلّد بالشيفرة التى سنكتبها للتطبيق و هي الشيفرة الذى يحدد وظيفة التطبيق و استجابة الواجهة و تنفيذها للأوامر. مجلد res و يهتم هذا المُجلّد بكل الموارد التي يتعامل معها التطبيق من صور و عناصر مكونة لواجهة المستخدم و عناصر مكونة للقوائم ويتكون من مجموعة من المجلّدات المرتبة كالآتي: drawable ويخص هذا المُجلد كافة الصور التي سيتم استخدامها في التطبيق. layout ويخص هذا المجلد بالتصميم الخاص بواجهة المستخدم و ما تحتويه من عناصر مختلفة. menu ويخص هذا المجلد بالقوائم و ما تحتويه من عناصر. mipmap ويخص هذا المجلد بالأيقونة الخاصة بالتطبيق فقط. values ويحتوى هذا المجلد على ملفات أخرى لكل منها وظيفة مختلفة و لكنها تشترك في فكرة عامة واحدة وهي جعل التطبيق أكثر مرونة لدعم دقة الشاشات المختلفة و الأحجام المختلفة ودعم اللغات المختلفة كما سنرى لاحقا في الدروس القادمة. المحاكي Simulator كما تتميز بيئة تطوير Android Studio بأنها بيئة تطوير متكاملة وتحتوي على ما يحتاجه المطور من أدوات لصنع تطبيق أندرويد فكما رأينا فهي تحتوي على مستعرض للمشروع وملفاته وتحتوي على المترجم الخاص والذي يحول الشيفرة إلى صيغته التنفيذية والتي تعمل على الهواتف وأيضاً تحتوي على محاكي للهواتف والحواسيب اللوحية ونستطيع تجربته عن طريق الضغط على (AVD (Android Virtual Device من داخل Android Studio في شريط القوائم وسنجد أنه تلقائياُ لديه هاتف جاهز للعمل. كما يمكنك أن تقوم بصنع محاكي آخر عن طريق الضغط على Create Virtual Device. الآن قم بتشغيل المحاكي و انتظر حتى يعمل كالتالي. قد يأخذ المحاكي بعض الوقت خاصة عند تشغيله أول مرة لذا ينصح دائما أن تقوم بتشغيل المحاكي قبل أن تقوم بتجربة التطبيق بفترة كافية. لتجربة التطبيق الذي قمنا بإنشائه على المحاكي من داخل android studio اضغط على الأيقونة Run ثم انتظر حتى تظهر أمامك شاشة يظهر فيها اسم المحاكي. ثم اختر المحاكي وأضغط ok. ستجد التطبيق يعمل الآن على المحاكي. ملحوظة: عند إنشاء أي مشروع داخل بيئة عمل Android Studio يقوم تلقائياً بإنشاء مشروع يعرض فقط كلمة !Hello World أمام المستخدم وهو الذي شاهدناه في الصورة السابقة حيث أننا لم نقوم بتغيير أي شيء في المشروع الأصلي. بهذا نكون قد وصلنا إلى نهاية أول دروسنا من هذه السلسة وإلى لقاء قريب بإذن الله، في انتظار تجربتكم وما مررتم به من مشاكل إن وجدت.
- 9 تعليقات
-
- 15
-
- avd
- marshmallow
- (و 12 أكثر)
-
نحتاج إلى كلٍّ من جافا (Java) وآلة جافا الوهميّة (Java Virtual Machine) لتشغيل العديد من البرمجيّات مثل Tomcat، و Jetty، و Glassfish، و Cassandra، و Jenkins. سنتعلم في هذا الدّليل كيفية تثبيت إصدارات مختلفة من (Java Runtime Environment (JRE و (Java Developer Kit (JDK باستخدام apt. سنثبِّت OpenJDK بالإضافة إلى الحزم الرّسميّة من موقع Oracle، سنختار بعدئذٍ الإصدار الذي تريد استخدامه لمشروعك. ستستطيع عند الانتهاء من استخدام JDK لتطوير البرمجيّات أو استخدام Java Runtime لتنفيذ البرمجيّات. المتطلبات ستحتاج لمتابعة هذا الدّليل إلى: خادم أبنتو 18.04 سبق إعداده باتّباع خطوات دليل إعداد الخادم الابتدائي، وهذا يتضمّن سحاب مستخدم غير جذر (non-root) ذا امتيازات sudo وجدارًا ناريًّا. تثبيت JRE/JDK الافتراضيّة الخيار الأسهل عند تثبيت جافا هو استخدام الإصدارات المُضمّنة مع أبنتو. يتضمّن أوبنتو 18.04 افتراضيًّا Open JDK والتي هي تنويعة مفتوحة المصدر من JRE و JDK. لتثبيت الإصدار 11 من OpenJDK، قُم أوّلًا بتحديث فهرس الحزمة: sudo apt update تحقّق بعد ذلك إذا ما كانت جافا مُثبّتةً بالفعل: java -version إذا لم تكن جافا مُثبّتةً، سترى الخرج التّالي: Output Command 'java' not found, but can be installed with: apt install default-jre apt install openjdk-11-jre-headless apt install openjdk-8-jre-headless apt install openjdk-9-jre-headless نفّذ الأمر التّالي لتثبيت OpenJDK: sudo apt install default-jre سيُثبّت هذا الأمر بيئة التشغيل الآني لجافا (JRE اختصار للعبارة Java Runtime Environment) التي ستسمح لك بتشغيل جميع برمجيّات جافا تقريبًا. تحقّق من التّثبيت باستخدام: java -version سترى الخرج التّالي: Output openjdk version "11.0.3" 2019-04-16 OpenJDK Runtime Environment (build 11.0.3+7-Ubuntu-1ubuntu218.04.1) OpenJDK 64-Bit Server VM (build 11.0.3+7-Ubuntu-1ubuntu218.04.1, mixed mode, sharing) قد تحتاج إلى أدوات جافا التطويرية (JDK اختصار للعبارة Java Development Kit) إلى جانب JRE إذا أردت ترجمة وتشغيل بعض البرمجيّات المعتمدة على جافا. لتثبيت JDK، قم بتنفيذ الأمر التّالي: sudo apt install default-jdk سيثبت هذا الأمر JRE أيضًا. تحقّق من تثبيت JDK من خلال تفحّص إصدار مصرِّف جافا javac: javac -version سترى الخرج التّالي: javac 11.0.3 سنعمل الآن على تحديد الإصدار الذي نريد تثبيته من OpenJDK. تثبيت إصدارات محددة من OpenJDK بالإضافة إلى تثبيت حزمة OpenJDK الافتراضية، يمكنك أيضًا تثبيت إصدارات مختلفة من OpenJDK. ستتعلّم في هذا الدّليل تثبيت الإصدارين الحاليّ والسّابق من الإصدارات ذات الدّعم الطّويل الأمد. OpenJDK 8 جافا 8 هي إحدى الإصدارات ذات الدّعم الطّويل الأمد من Oracle. على الرّغم من انتهاء صيانتها العامّة منذ كانون الثّاني من هذا العام إلّا أن التّحديثات العامّة للإصدارات الشّخصيّة وإصدارات التّطوير مستمرّة حتى كانون الأوّل 2020. لتثبيت OpenJDK 8، قم بتنفيذ الأمر التّالي: sudo apt install openjdk-8-jdk تحقّق من التّثبيت من خلال الأمر: java -version سيظهر لك الخرج التّالي: Output openjdk version "1.8.0_162" OpenJDK Runtime Environment (build 1.8.0_162-8u162-b12-1-b12) OpenJDK 64-Bit Server VM (build 25.162-b12, mixed mode) من المُمكن تثبيت JRE فقط من خلال تنفيذ الأمر sudo apt install openjdk-8-jre. OpenJDK 11 جافا 11 هي الإصدار الحاليّ ذي الدّعم الدّعم الطّويل الأمد ومن المُتوقّع أن يستمرّ دعمها حتّى العام 2022 . لتثبيت OpenJDK 11، قم بتنفيذ الأمر التّالي: sudo apt install openjdk-11-jdk لتثبيت JRE فقط، استخدم الأمر التّالي: sudo apt install openjdk-11-jre سنقوم الآن بتثبيت حزم JDK و JRE الرّسميّة من Oracle. تثبيت Oracle JDK إذا أردت تثبيت Oracle JDK، الإصدار الرّسمي الذي توزعه Oracle، ستحتاج لإضافة مستودع حزمة جديد للإصدار الذي ترغب باستخدامه. لتثبيت جافا 8، قم أولًا بإضافة مستودع حزمته: sudo add-apt-repository ppa:webupd8team/java عند إضافة المستودع، سترى رسالةً كهذه: Output Oracle Java (JDK) Installer (automatically downloads and installs Oracle JDK8). There are no actuJava files in this PPA. Important -> Why Oracle Java 7 And 6 Installers No Longer Work: http://www.webupd8.org/2017/06/why-oracl e-java-7-and-6-installers-no.html Update: Oracle Java 9 has reached end of life: http://www.oracle.com/technetwork/java/javase/downloads/j dk9-downloads-3848520.html The PPA supports Ubuntu 18.04, 17.10, 16.04, 14.04 and 12.04. More info (and Ubuntu installation instructions): - for Oracle Java 8: http://www.webupd8.org/2012/09/install-oracle-java-8-in-ubuntu-via-ppa.html Debian installation instructions: - Oracle Java 8: http://www.webupd8.org/2014/03/how-to-install-oracle-java-8-in-debian.html For Oracle Java 10, see a different PPA: https://www.linuxuprising.com/2018/04/install-oracle-java-10-in-ubuntu-or.html More info: https://launchpad.net/~webupd8team/+archive/ubuntu/java Press [ENTER] to continue or Ctrl-c to cancel adding it. اضغط ENTER للاستمرار ثمّ قُم بتحديث قائمة الحزم: sudo apt update حالما تُحدَّث القائمة، قُم بتثبيت جافا 8: sudo apt install oracle-java8-installer سيُنزّل نظامك JDK من Oracle ويطلب منك قبول اتفاقيّة التّرخيص. قُم بالموافقة على الاتفاقيّة وسيبدأ تثبيت JDK. سننظر الآن إلى إمكانيّة اختيار إصدار جافا الذي ترغب باستخدامه. إدارة جافا قد يتوفّر لديك عدّة إصدارات جافا مُثبّتةٍ على خادمٍ واحد. يمكنك إعداد أيٍّ من هذه الإصدارات ليكون الافتراضي لديك أو استخدام سطر الأوامر من خلال الأمرupdate-alternatives: sudo update-alternatives --config java إذا ثبَّت جميع إصدارات جافا في هذا الدّليل، سيبدو الخرج لديك كالتّالي: Output There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode اختر الرّقم الموافق لإصدار جافا الذي ترغب في استخدامه افتراضيّا، أو اضغط ENTER لترك الإعدادت على ما هي عليه. يمكنك القيام بهذا لأوامر جافا أخرى، مثل المترجم (javac): sudo update-alternatives --config javac نذكر على سبيل المثال لا الحصر من بعض الأوامر الأخرى التي يمكنك تنفيذ ما سبق عليها: keytool، Javadoc و jarsigner. تعيين متغير البيئة JAVA_HOME تستخدم العديد من البرامج المكتوبة باستخدام لغة جافا مُتغيّر البيئة JAVA_HOME لتحديد مسار تثبيت جافا. لتعيين مُتغيّر البيئة هذا، حدّد أولًا أين ثُبتّت جافا. استخدم الأمر update-alternatives كما يلي: sudo update-alternatives --config java سيعرض لك هذا الأمر جميع تثبيات جافا لديك مع مسار كلٍّ منها: There are 3 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 auto mode 1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1101 manual mode 2 /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java 1081 manual mode 3 /usr/lib/jvm/java-8-oracle/jre/bin/java 1081 manual mode Press <enter> to keep the current choice[*], or type selection number: في حالتنا هذه، فإنّ مسارات التّثبيت هي كالتّالي: OpenJDK 11 على المسار /usr/lib/jvm/java-11-openjdk-amd64/bin/java. OpenJDK 8 على المسار /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java. Oracle Java 8 على المسار /usr/lib/jvm/java-8-oracle/jre/bin/java. قُم بنسخ مسار الإصدار المفضّل لديك ثم افتح الملف /etc/environment باستخدام nano أو محرّر النّصوص الذي تفضّله: sudo nano /etc/environment أَضِف السطر التّالي في نهاية هذا الملف وتأكّد من استبدال المسار الملّون بالمسار الذي قمت أنت بنسخه: JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64/bin/" سيضبط تعديل هذا الملف مسار JAVA_HOME لجميع المستخدمين على نظامك. احفظ تعديلاتك على الملف وأغلق المُحرّر. أعِد تحميل هذا الملف لتطبيق التعديلات على جلستك الحاليّة: source /etc/environment تحقّق من تعيين مُتغيّر البيئة: echo $JAVA_HOME سترى المسار الذي قمت بتعيينه منذ قليل: Output /usr/lib/jvm/java-11-openjdk-amd64/bin/ سيحتاج المستخدمون الآخرون إلى تنفيذ الأمر source /etc/environment أو تسجيل الخروج وإعادة تسجيل الدخول ليصبح هذا الضّبط نافذ المفعول. خاتمة قمتَ في هذا الدّليل بتثبيت عدة إصدارات من جافا وتعلّمت كيفيّة إدارة هذه الإصدارات. يمكنك الآن تثبيت برمجيات تعمل على Java مثل Tomcat، أو Jetty، أو Glassfish، أو Cassandra، أو Jenkins. ترجمة -وبتصرف- للمقال How To Install Java with apt on Ubuntu 18.04 لصاحبه Koen Vlaswinkel
- 2 تعليقات
-
- أبنتو 18.04
- جافا
-
(و 3 أكثر)
موسوم في:
-
بما أن العديد من الدروس المتعلقة بـِ Java وUbuntu تفترض وجود Java مُثبتة مُسبقا على النظام، فإن هذا المقال سيرشدك إلى تعلم تثبيت وإدارة إصدارات مختلفة من Java حتى يتسنى لك البدء في العمل، تتبع الدروس والمضي قدما. تثبيت JRE/JDK الإفتراضيهذا هو الخيار الأكثر سهولة والمنصوح به. هذه العملية ستثبت OpenJDK 6 على أبنتو 12.04 وسابقاتها وحتى على 12.10+ فسيُثبّتُ هذا OpenJDK 7 تثبيت جافا مع apt-get سهل للغاية. أولا، حدث مستودع الحزم: sudo apt-get updateثم، تأكد من أن جافا ليست مثبتة على الجهاز: java -versionإذا كانت مخرجات الأمر: "The program java can be found in the following packages"فهذا يعني أن جافا لم تُثبت بعد، لذلك طبق الأمر التالي: sudo apt-get install default-jreهذا الأمر سيثبتُ (Java Runtime Enviroment (JRE، إذا كنت تريد (Java Development Kit (JDK عوضا عن ذلك، والتي تكون ضرورية لترجمة (compile) تطبيقات Java (مثلا Apache Ant, Apache Maven, Eclipse و IntelliJ IDEA ) طبق الأمر التالي: sudo apt-get install default-jdkهذا كل ما تحتاجه من خطوات لتثبيت Java. جميع الخطوات القادمة اختيارية ويجب تطبيقها فقط عند الحاجة. تثبيت OpenJDK 7 (اختياري)لتثبيت OpenJDK 7 ، طبق الأمر التالي: sudo apt-get install openjdk-7-jreهذا الأمر يثَبّتُ (Java Runtime Environment (JRE. إن كنت ترغب بتثبيت (Java Development Kit (JDK عوضا عن ذلك فنفذ الأمر التالي: sudo apt-get install openjdk-7-jdkتثبيت Oracle JDK (اختياري)Oracle JDK هو JDK الرسمي؛ لكنه لم يعد مقدما من Oracle بشكل افتراضي لـ Ubuntu، لكن لا يزال بإمكانك تثبيته باستخدام apt-get. لتثبيت أي نسخة أولا نفذ الأوامر التالية: sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get updateبعد ذلك، حسب النسخة المراد تثبيتها، نفذ أحد الأوامر التالية حسب النسخة المراد تثبيتها: Oracle JDK 6هذه نسخة قديمة لكنها لا زالت تُستعمَل في كثير من التطبيقات والأدوات، لذلك نذكرها هنا من باب العلم بالشيء: sudo apt-get install oracle-java6-installerOracle JDK 7sudo apt-get install oracle-java7-installerOracle JDK 8هذه آخر نسخة مستقرة لحد كتابة هذا الدرس. تم الإعلان عن الإطلاق بشكل عام في مارس 2014. هذا الرابط الخارجي عن Java 8 يمكن أن يساعدك لفهم الأمور بشكل جيد. sudo apt-get install oracle-java8-installerملاحظة: إذا حدث وأعطاك الأمر بعد مُدّة خطأً كالتالي (شخصيا، واجهتني المُشكلة، أظنّ أن السبب راجع إلى كوني أعيش في المغرب مع سرعة شبكة بطيئة): download failed Oracle JDK 8 is NOT installed. /usr/bin/dpkg returned an error code (1)لقد بحثت عن حلّ للمُشكلة ولكنّني لم أجد سوى حلّ بدائي وهو أن تعيد أمر التثبيت كلّما أعطاك هذا الخطأ (ستحتاج إلى تكرار الأمر 4 أو 5 مرّات لإكمال التحميل والتّثبيت بنجاح): sudo apt-get install oracle-java8-installerحيث ستكون المُخرجات كالتالي: 2 not fully installed or removed.هذا يعني أنّ الأمر الذي أدخلته سيستكمل التحميل ولن يحتاج إلى إعادته من جديد. إدارة Javaإذا كان لديك العديد من نسخ جافا المثبتة في الخادوم، يمكن اختيار النسخة الافتراضية، للقيام بذلك طبق الأمر التالي: sudo update-alternatives --config javaالمخرجات عادة ستكون كهذا إذا كنت تملك تثبتيتين (إذا كان لديك أكثر من ذلك، بالطبع ستكون المخرجات أكثر): There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode 1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode Press enter to keep the current choice[*], or type selection number: يمكنك الآن اختيار الرقم لاستخدامه كخيار افتراضي. هذه العملية يمكن فعلها كذلك بالنسبة لمترجم جافا (javarc): sudo update-alternatives --config javacستظهر نفس شاشة الاختيار السابقة ويجب استعمالها بنفس الطريقة. هذا الأمر يمكن تنفيذه لجميع الأوامر التي تملك تثبيتات مختلفة. في جافا، مثلاً: keytool ، javadoc و jarsigner ضبط متغير بيئة “JAVA_HOME” لضبط متغير بيئة JAVA_HOME ، والذي تحتاجه بعض البرامج، أولا عليك إيجاد مسار تثبيت جافا الخاص بك: sudo update-alternatives --config javaوالمخرجات تكون كالتالي: There are 2 choices for the alternative java (providing /usr/bin/java). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 auto mode 1 /usr/lib/jvm/java-6-openjdk-amd64/jre/bin/java 1061 manual mode 2 /usr/lib/jvm/java-7-oracle/jre/bin/java 1062 manual mode Press enter to keep the current choice[*], or type selection number:مسار التثبيت هو كل من: /usr/lib/jvm/java-7-oracle /usr/lib/jvm/java-6-openjdk-amd64 /usr/lib/jvm/java-7-oracleأنسخ المسار من تثبيتك الذي تريده ثم عدل الملف etc/environment/: sudo nano /etc/environmentفي هذا الملف أضف السطر التالي (مغيرا مسار_التثبيت إلى ما نسخته): JAVA_HOME="مسار_التثبيت"هذا كاف لضبط متغير البيئة. الآن أعد تحميل هذا الملف: source /etc/environmentجرب الآن تطبيق الأمر: echo $JAVA_HOMEإذا كان المخرج مسارك، فمتغير البيئة قد ضُبط بنجاح. إذا لم يكن الأمر كذلك، المرجو التأكد من أنك اتبعت جميع الخطوات بشكل صحيح. ترجمة -وبتصرّف- للمقال: How To Install Java on Ubuntu with Apt-Get.