به نام خدا

 

سلام. در Ubuntu (و توزیع های دیگه) برای نصب ماشین مجازی جاوا میشه از پروژه ی جایگزین و اوپن سورس OpenJDK استفاده کرد، اما ممکن هست نیاز داشته باشید از JDK یا JRE رسمی Oracle استفاده کنید.

مثلاً برای برنامه نویسی اندروید نیاز هست که JDK نصب باشه، من نیاز داشتم که Oracle JDK رو در کنار OpenJDK داشته باشم، اما نصب اون و همچنین تعیین کردن اون بعنوان ماشین مجازی پیشفرض (بجای OpenJDK ) مستلزم این هست که مراحلی طی بشه.

این مراحل رو برای مراجعه ی بعدی خودم اینجا می نویسم، شاید برای شما هم مفید واقع بشه.

 

فرض می کنیم مرحله ی اول که دانلود JDK‌از سایت Oracle هست رو طی کردید (همونطور که اطلاع دارید Oracle ایران رو تحریم کرده و نمیتونید فایل ها رو با IP ایران دانلود کنید)

 

خب حالا باید فایل رو استخراج (Extract) کنید، میتونید اینکار رو مشتقیم از برنامه مدیریت آرشیو انجام بدید و یا توسط دستور زیر در ترمینال:

tar -xvf jdk-7u17-linux-i586.tar.gz

با اینکار فولدری بنام jdk1.7.0_17 ایجاد میشه، این فولدر رو باید به مسیر زیر انقال بدید:

/usr/lib/jvm/

برای کپی فولدر باید با دسترسی root اقدام کنید، همچنین میتونید از ترمینال اقدام به جابجایی فولدر کنید:

sudo mv ./jdk1.7.0_17 /usr/lib/jvm/jdk1.7.0

 با اینکار سیستم این ماشین مجازی جدید رو میشناسه اما هنوز بعنوان پیشفرض انتخاب نشده، برای اینکار مراحل زیر رو طی کنید:

دستورات زیر رو در ترمینال اجرا کنید (به نام فولدری که انتقال دادید دقت کنید، اینجا ما نام فولدر رو jdk1.7.0 انتخاب کردیم):

sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

کد زیر رو در ترمینال اجرا کنید:

sudo update-alternatives --config java

با اجرای اینکار خروجی ای شبیه متن زیر در ترمینال خواهید دید، که باید شماره گزینه ی موردنظر رو وارد کنید تا اون ماشین مجازی بعنوان ماشین مجازی پیشفرض برای اجرای برنامه های جاوا مورداستفاده قرار بگیره

There are 4 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                           Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk-i386/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-7-openjdk-i386/jre/bin/java   1051      manual mode
  3            /usr/lib/jvm/jdk1.7.0/bin/java                  1         manual mode
* 4            /usr/lib/jvm/jdk1.7.0_17/bin/java               1         manual mode

Press enter to keep the current choice[*], or type selection number: 4

دو دستور زیر رو هم در ترمینال اجرا کنید و مرحله بالا رو تکرار کنید:

sudo update-alternatives --config javac
sudo update-alternatives --config javaws

با اجرای دستور زیر در ترمینال میتونید چک کنید که سیستم از کدوم ماشین مجازی استفاده میکنه :

java -version

یا علی مدد...!