نصب و پیکره بندی JDK در Ubuntu

همونطور که میدونید برای نصب اندروید استودیو اولین کار داشتن JDK روی سیستم موردنظر هست.خب برای اینکار باید به سایت اوراکل مراجعه کنید ( متاسفانه تحریمه ) و JDK مناسب رو با توجه به نسخه ی اوبونتویی که نصب کردید دانلود کنید- برای اینکار بعد از پیچوندن تحریم به صفحه ی نسخه ای از JDK که قصد دانلود دارید وارد بشید که بسته به انتخاب میتونه JDK 1.8 باشه یا JDK1.7 باشه ( اینجا من تصمیم گرفتم از نسخه 1.8 استفاده کنم ) در صفحه مورد نظر Accept License Agreement رو علامت بزنید و توجه داشته باشید که ما برای توزیع هایی از گنو/لینوکس مثل اوبونتو به نسخه آرشیو شده با پسوند tar.gz نیاز داریم.

 

خب بعد از اینکه دانلود انجام شد باید فایل رو اکسترکت کنیم و در مسیر مناسب قرار بدیم پس چون فایلی که من دانلود کردم در ‌Downloads ذخیره شده – به صورت زیر عمل میکنم پس با Ctrl+Alt+T ترمینال رو باز کنید و دستورات رو وارد کنید.

 

خب تا اینجا باید اکسترکت با موفقیت صورت گرفته باشه که میتونید با دستور ls این موضوع رو چک کنید – مرحله ی بعدی ساخت یه دایرکتوری در مسیر usr/lib/jvm و انتقال فولدر اکسترکت شده به اونجاست پس دوباره میریم سراغ ترمینال و تایپ می کنیم:

 

عبارت sudo به شما اجازه میده که یه دستور رو به عنوان سوپریوزر اجرا کنید و در اینجا ممکنه که از شما درخواست بشه که پسورد خودتون رو وارد کنید.

سوئیچ p- در دستور اول برای ساخت پوشه های تودرتو لازم است و /. در دستور دوم نشانگر مسیری است که در آن قرار داریم.

بعد از پشت سر گذاشتن مراحل قبل حالا باید توجه داشت که ممکنه شرایطی وجود داشته باشه که بر روی سیستم عامل ما به فرض چندین JDK نصب شده باشد در این شرایط برای اینکه مشخص کنیم کدام یک از JDK های نصب شده باید دارای اولویت بالاتری باشه و به صورت پیشفرض توسط سیستم عامل مورد استفاده قرار بگیره باید به شیوه ای این موضوع رو مشخص کنیم.

خب دستوری که باید در ترمینال تایپ کرد به این صورت زیر هست:

  • دقت کنید که باید ورژن jdk خود را تغییر بدید.

توضیح : با استفاده از دستور بالا که فرمت اون به صورت update-alternatives –install link name path priority هستش ما یک گروه alternatives برای سیستم تعریف می کنیم در صورتی که گروه تعریف شده در حال حاضر در لیست رکورد alternative های سیستم موجود باشه اطلاعات در مورد alternative جدید به قبلی ها در این گروه اضافه خواهد شد در غیر اینصورت یک گروه alternative جدید که حالت اون به صورت پیشفرض روی اتوماتیک تنظیم شده به سیستم اضافه خواهد شد در این حالت یعنی اتوماتیک سیستم بر اساس اولویت های موجود تصمیم میگیره که از چه فایل یا کتابخانه یا برنامه یا … برای عملکرد مورد نیاز که به فرض میتونه ادیت یک فایل تکست باشه استفاده کنه- اینجا link در واقع یک نام کلی یا لینکی برای مستر لینک هست که در alternatives directory به link group مربوطه اشاره میکنه که در بردارنده ی انتخاب هایی است که دارای عملکرد مشابه یا یکسانی هستند که مورد نظر ماست مثلاْ اجرای جاوا یا همون ادیت تکست , Master link تعیین میکنه که پیکره بندی و اولویت بندی برای slave links یا سایر لینک های موجود در گروه باید به چه صورتی باشه یعنی پیشفرض سیستم برای اجرای یک عمل کدام یک از گزینه های موجود (لینک فایل ها یا برنامه ها یا… ) باید باشد – name نامی است که برای مفهوم symbolic links در دایرکتوری etc/alternatives/ در نظر می گیریم که با اون گروه جدید الترنیتیو ها شناسایی میشه و path مسیر الترنیتیوی است که برای Master link معرفی می شود و در واقع مسیر انتخاب پیشفرض برای فایلهایی است که عملکرد مورد نظر ما قراره با اونها صورت بپذیره که با بعدها با دستور update-alternatives –config که جلوتر بهش میرسیم قابل تغییره و priority هم برای مشخص کردن الویت این گزینه به کار میره. خیلی ساده کاری که با دستور بالا انجام میدیم اینه که یک الترنیتیو جدید برای JDK تازه نصب شده به گروهی از الترنیتیوها برای اجرای جاوا اضافه می کنیم و مسیر JDK رو هم معین و الویت اون رو به بالاترین مورد ممکن تغییر میدیم. برای اینکه موضوع روشن تر بشه با تایپ دستورهای زیر در ترمینال میتونید لیستی از لینک های موجود در مسیر etc/alternatives/ رو ملاحظه بفرمایید.

خب برمیگردیم سر اصل موضوع – تا اینجا ما با دستور طولانی توضیح داده شده یه alternative جدید اضافه کردیم و تازه باید مشخص کنیم که اگر چند تا مثلاْ JDK رو سیستم نصب شده ما ترجیح میدیدم که از کدوم استفاده کنیم برای اینکار میریم سراغ ترمینال و مینویسیم:

بعد از تایپ دستور بالا اگر تنها JDK که روی سیستم وجود داره همین JDK باشه که تازه نصب شده بعد از زدن Enter با چنین پیغامی مواجه خواهیم شد :

که معنی اون اینه که چیزی برای کانفیگ وجود نداره ولی اگر غیر از این باشه مثلاْ ممکنه چیزی شبیه به موارد زیرو در ترمینال مشاهده کنیم:

که به ما میگه برای نگه داشتن انتخاب فعلی که با علامت * مشخص شده enter رو فشار بدید یا با تایپ شماره ای که در کنار انتخاب مورد نظرتون قرار داره اون رو تغییر بدید. که مثلاْ اینجا ما باید عدد 3 رو تایپ کنیم و enter رو فشار بدیم خب حالا اگر همه چیز به خوبی پیش رفته باشه برای اینکه متوجه بشیم همه چیز به درستی تنظیم شده میتونیم با وارد کردن دستور زیر در محیط ترمینال از این موضوع اطلاع پیدا کنیم:

این دستور اطلاعاتی در مورد link group مربوطه به شما نشون میده که شامل حالت گروه که میتونه به صورت اتوماتیک یا دستی تنظیم شده باشه , اینکه در حال حاضر مستر لینک به کدام alternative اشاره میکنه , لیستی از سایر alternative هایی که در گروه موجود هستند و اینکه بالاترین اولویت در حال حاضرمربوط به کدام alternative هست را نشان خواهد داد اگر همه چیز درست باشه نتیجه ای مشابه پیام زیر که در ترمینال من نمایش داده شده برای شما هم نشون داده میشه.

دستور طولانی قبلی رو برای javac هم تکرار می کنیم تقریباْ یکی هستند با یه فرق جزیی ولی مهم:

حالا برای محکم کاری باید Environment-variable ها رو هم ست کنیم پس در ترمینال باید تایپ کنیم:

  • علامت # خط مورد نظر رو کامنت میکنه و به حساب نخواهد آمد.

با دستور اول متغیر JAVA_HOME$ رو تعریف کردیم که حاوی مسیری است که به محل قرارگیری فولدر JDK اشاره میکنه تا به راحتی برای برنامه هایی مانند اندروید استودیو قابل شناسایی باشه و با دستور دوم هم به متغیر PATH$ مسیر پوشه usr/lib/jvm/jdk1.8.0_121/bin رو اضافه میکنه تا در هر مسیری که قرار داشته باشیم به راحتی بتونیم با دستورات جاوا کار کنیم.

و برای متغیر PATH$ هم از دستور زیر استفاده میکنیم.

که مسیر ذکر شده در بالا باید به اون اضافه شده باشه.

فقط در صورتی که قصد داشته باشید jdk رو با استفاده از مخازن PPA نصب کنید باید از دستورات زیر استفاده کنید که البته من تست نکردم.

 

 

 

0 پاسخ

دیدگاه خود را ثبت کنید

Want to join the discussion?
Feel free to contribute!

دیدگاهتان را بنویسید

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