جاوا و ماشین مجازی JVM برای بسیاری از انواع نرمافزارها مانند Tomcat، Jetty، Glassfish و Jenkins موردنیاز است. در این آموزش، به نحوه نصب نسخههای مختلف محیط رانتایم جاوا (JRE) و کیت توسعه جاوا (JDK) با استفاده از apt خواهیم پرداخت. در اینجا نصب OpenJDK و همینطور، نسخه رسمی JDK را از اوراکل دریافت...
1400/06/263157 بازدید
جاوا و ماشین مجازی JVM برای بسیاری از انواع نرمافزارها مانند Tomcat، Jetty، Glassfish و Jenkins موردنیاز است. در این آموزش، به نحوه نصب نسخههای مختلف محیط رانتایم جاوا (JRE) و کیت توسعه جاوا (JDK) با استفاده از apt خواهیم پرداخت. در اینجا نصب OpenJDK و همینطور، نسخه رسمی JDK را از اوراکل دریافت میکنیم. سپس نسخه مناسب برای پروژه موردنظرمان را انتخاب میکنیم. نهایتاً پس از نصب جاوا با apt، شما قادر خواهید بود که از JDK برای توسعه نرمافزاری و یا از JRE برای اجرای نرمافزارها استفاده کنید.
پیشنیازها
برای طیکردن مراحل این آموزش، به مراحل زیر احتیاج خواهید داشت:
یک سرور اوبونتو 04 همراه تنظیمات اولیه سرور و از جمله یک کاربر غیر روت با دسترسی sudo و یک فایروال.
نصب پیشفرض JRE/JDK
راحتترین گزینه برای نصب جاوا، استفاده از نسخهای است که همراه با اوبونتو ارائه شده است. اوبونتو 20.04 به صورت پیشفرض با Open JDK 11 همراه است که یک نسخه متنباز از JRE و JDK محسوب میشود.
برای نصب این نسخه، ابتدا لیست بستهها را بروزرسانی کنید.
php
1sudo apt update
بررسی کنید که جاوا در حال حاضر در سرور شما نصب است یا خیر:
php
1java -version
در صورتی که جاوا نصب نشده باشد، خروجی زیر را مشاهده خواهید کرد.
php
1Command 'java' not found, but can be installed with:23sudo apt install openjdk-11-jre-headless # version 11.0.11+9-0ubuntu2~20.04, or45sudo apt install default-jre # version 2:1.11-7267sudo apt install openjdk-13-jre-headless # version 13.0.7+5-0ubuntu1~20.0489sudo apt install openjdk-16-jre-headless # version 16.0.1+9-1~20.041011sudo apt install openjdk-8-jre-headless # version 8u292-b10-0ubuntu1~20.04
فرمان زیر را اجرا کنید تا نسخه پیشفرض JRE از طریق OpenJDK 11 نصب شود.
php
1sudo apt install default-jre
JRE این امکان را به شما میدهد که تقریباً تمام نرمافزارهای جاوا را اجرا کنید.
با استفاده از فرمان زیر، وضعیت نصب جاوا با apt را بررسی کنید.
php
1java -version
در نتیجه، خروجیای مشابه زیر را خواهید دید.
php
1openjdk version "11.0.11" 2021-04-2023OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)45OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing))
برای کامپایل و اجرای برخی نرمافزارهای خاص مبتنی بر جاوا، احتمالاً به کیت توسعه جاوا علاوه بر JRE احتیاج خواهید داشت. به منظور نصب JDK، فرمان زیر را اجرا نمایید. این فرمان شامل نصب JRE نیز میشود.
php
1sudo apt install default-jdk
اکنون با بررسی نسخه کامپایلر جاوا، javac، از نصب JDK مطمئن شوید.
php
1javac -version
در نتیجه با خروجی زیر مواجه میشوید.
php
1javac 11.0.11
حالا نگاهی داشته باشیم به نصب نسخه رسمی اوراکل از JDK و JRE
نصب اوراکل JDK 11
توافقنامه لایسنس اوراکل برای جاوا اجازه نصب اتوماتیک از طریق برنامههای مدیریت بسته را نمیدهد. برای نصب اوراکل JDK که نسخه رسمی توزیعی از طرف اوراکل محسوب میشود، شما ابتدا میبایست یک حساب رسمی اوراکل ایجاد کنید. در این صورت است که قادر خواهید بود که نسخه موردنظر JDK را به منبع بسته خود اضافه نمایید. سپس میتوانید نصب جاوا را با apt و به کمک یک اسکریپت نصب ثالث انجام دهید.
نسخه JDK اوراکل برای دانلود باید حتماً با اسکریپت نصبکننده مطابقت داشته باشد. برای پیدا کردن نسخه موردنیاز، حتماً از صفحه oracle-java11-installer دیدن کنید.
همانطورکه در تصویر دیده میشود، بسته Focal را پیدا کنید.
بسته نصبکننده برای اوبونتو 20.04
در این تصویر، نسخه اسکریپت برابر 11.0.7 است. در نتیجه، به اوراکل JDK نسخه 11.0.7 احتیاج خواهید داشت. شماره نسخه ممکن است نسبت به زمانی که در آینده این ابزار را نصب میکنند، تفاوت داشته باشد.
نیازی به دانلود هیچ آیتمی در این صفحه ندارید. چرا که اسکریپت نصب را به سرعت از طریق apt دریافت خواهید کرد.
سپس صفحه Downloads را باز کنید و نسخه مناسب موردنظرتان را بیابید.
اوراکل جاوا 11
بر روی دکمه JDK Download کلیک کنید تا به صفحه نسخههای در دسترس هدایت شوید. سپس روی بسته .tar.gz برای لینوکس کلیک کنید.
دانلود نسخه ویژه لینوکس
در نتیجه با صفحه تأیید توافقنامه لایسنس اوراکل مواجه میشوید. تیک تأیید را فعال کنید و دکمه Download را بزنید. در نتیجه، دانلود فایل برایتان آغاز میشود. احتمالاً قبل از اینکه دانلود شروع شود، نیاز به ورود دوباره به حساب کاربری اوراکل خواهید داشت.
پس از دریافت فایل، باید آن را به سرور انتقال دهید. در سیستم محلی خود، این فایل را به سرور ارسال کنید. در سیستمعامل مکینتاش، لینوکس یا ویندوز، چنین کاری با استفاده از Windows Subsystem و فرمان scp برای انتقال فایل به دایرکتوری خانگی کاربر صورت میگیرد. فرمان زیر با فرض ذخیره فایل Oracle JDK در پوشه Downloads در سیستم محلی شما اجرا میشود.
وقتی ارسال فایل به پایان رسید، به سرور برگردید و منبع ثالثی را که به نصب جاوای اوراکل کمک میکند، اضافه کنید.
بسته software-properties-common را نصب کنید. این بسته موجب اضافه شدن فرمان add-apt-repository به سیستم شما میشود.
php
1sudo apt install software-properties-common
سپس نوبت به وارد کدرن کلید امضا برای تأیید نرمافزاری است که میخواهید نصب کنید.
1gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported23gpg: Total number processed: 145gpg: imported: 1
حالا با استفاده از فرمان add-apt-repository منبع جاوا را به لیست بستههای خود اضافه کنید.
php
1sudo add-apt-repository ppa:linuxuprising/java
نمونه خروجی
php
1Oracle Java 11 (LTS) and 16 installer for Ubuntu (21.04, 20.10, 20.04, 18.04, 16.04 and 14.04), Pop!_OS, Linux Mint and Debian.23Java binaries are not hosted in this PPA due to licensing. The packages in this PPA download and install Oracle Java, so a working Internet connection is required.45The packages in this PPA are based on the WebUpd8 Oracle Java PPA packages: https://launchpad.net/~webupd8team/+archive/ubuntu/java67Created for users of https://www.linuxuprising.com/89Installation instructions (with some tips), feedback, suggestions, bug reports etc.:1011. . .1213Press [ENTER] to continue or Ctrl-c to cancel adding it.
کلید Enter را بزنید تا روند نصب جاوا ادامه یابد. ممکن است با پیامی مبنی بر عدم وجود داده معتبر OpenPGP روبرو شوید. امّا با اطمینان خاطر میتوانید آن را نادیده بگیرید.
لیست بستههای خود را بروزرسانی کنید تا نرمافزار جدید برای نصب در اختیار شما قرار گیرد.
php
1sudo apt update
برنامه نصبکننده به دنبال Oracle JDK در آدرس /var/cache/oracle-jdk11-installer-local خواهد گشت. این دایرکتوری را بسازید و اوراکل JDK را به آن منتقل کنید.
برنامه نصبکننده ابتدا از شما میخواهد که توافقنامه لایسنس اوراکل را تأیید کنید. سپس بسته جاوا استخراج شده و نصب می شود.
در ادامه نگاهی خواهیم داشت به نحوه انتخاب نسخه جاوایی که قرار است از آن استفاده کنیم.
مدیریت جاوا
میتوانید چند نسخه از جاوا را به صورت همزمان در سرور نصب داشته باشید. با استفاده از فرمان update-alternatives میتوانید تعیین کنید که کدام نسخه به صورت پیشفرمان در خط فرمان به کار گرفته شود.
php
1sudo update-alternatives --config java
در صورتی که دو نسخه نصب جاوا در این آموزش را انجام داده باشید، با خروجیای مشابه زیر روبرو میشوید.
php
1There are 2 choices for the alternative java (providing /usr/bin/java).23Selection Path Priority Status45------------------------------------------------------------670 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode891 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode1011* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode1213Press <enter> to keep the current choice[*], or type selection number:
عدد همراه با نسخه نصب جاوا را برای تعیین نسخه پیشفرض استفاده کنید. همچنین میتوانید با فشردن دکمه Enter، تنظیمات را به همان حالت قبلی رها کنید.
چنین کاری برای سایر فرمانهای جاوا نیز قابلانجام است؛ از جمله کامپایلر یا javac.
php
1sudo update-alternatives --config javac
keytool، javadoc و jarsigner از جمله فرمانهای دیگری هستند که چنین کاری را میتوان برای آنها انجام داد.
تنظیم متغیر محیطی JAVA_HOME
بسیاری از برنامههایی که با جاوا نوشته شدهاند، از متغیر محیطی JAVA_HOME برای تعیین موقعیت نصب جاوا استفاده میکنند. برای تنظیم این متغیر محیطی، ابتدا باید معیّن کنید که جاوا در چه جایی نصب شده است. برای این منظور، از فرمان update-alternatives استفاده میشود.
php
1sudo update-alternatives --config java
این فرمان نشان میدهند که هر کدام از نسخههای جاوا در چه موقعیتی نصب شدهاند.
نمونه خروجی
php
1There are 2 choices for the alternative java (providing /usr/bin/java).23Selection Path Priority Status45------------------------------------------------------------670 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode891 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode1011* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode1213Press <enter> to keep the current choice[*], or type selection number:
در اینجا مسیرهای نصب از قرار زیرند:
موقعیت OpenJDK 11 در آدرس /usr/lib/jvm/java-11-openjdk-amd64/bin/java.
موقعیت Oracle Java در آدرس /usr/lib/jvm/java-11-oracle/jre/bin/java.
مسیر نصب جاوای موردنظرتان را کپی کنید. سپس با استفاده از nano یا هر ویرایشگر متنی دیگر، فایل /etc/environment را باز کنید.
php
1sudo nano /etc/environment
در پایان این فایل، خط زیر را اضافه کنید. حتی موقعیت خودتان را در این خط جایگزین کنید و بخش bin/ را نیز حذف نمایید.
php
1JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
اصلاح این فایل باعث میشود که مسیر JAVA_HOME برای تمام کاربران در سیستم شما تنظیم گردد.
اکنون فایل را ذخیره کرده و از ویرایشگر خارج شوید.
فایل را دوباره بارگذاری کنید تا تغییرات برایتان اِعمال شوند.
php
1source /etc/environment
همچنین بررسی کنید که تنظیم متغیر محیطی بهدرستی انجام گرفته است یا خیر.
php
1echo $JAVA_HOME
در نتیجه، مسیری را که تنظیم کرده بودید، مشاهده خواهید کرد.
php
1/usr/lib/jvm/java-11-openjdk-amd64
سایر کاربران میبایست فرمان source /etc/environment را اجرا کرده و یا با یک خروج و ورود دوباره به حساب کاربران، از این تنظیمات استفاده کنند.
جمعبندی
در این آموزش به نحوه نصب نسخههای جاوا پرداختیم و همچنین نحوه مدیریت این نسخهها را بررسی کردیم. حالا میتوانید نرمافزارهایی را که در بستر جاوا هستند، از جمله Tomcat، Jetty، Glassfish، Cassandra و Jenkins را اجرا کنید.