مقدمه
در این راهنما، نسخههای مختلف Java Runtime Environment (JRE) و Java Developer Kit (JDK) را با استفاده از apt نصب خواهید کرد. OpenJDK و همچنین JDK رسمی اوراکل را نصب خواهید کرد. سپس نسخه ای را که می خواهید برای پروژه های خود استفاده کنید انتخاب می کنید. وقتی کارتان تمام شد، میتوانید از JDK برای توسعه نرمافزار یا استفاده از Java Runtime برای اجرای نرمافزار استفاده کنید.
پیش نیازها
- یک سرور اوبونتو 22.04 با دنبال کردن آموزش راهنمای راه اندازی سرور اولیه اوبونتو 22.04، از جمله یک کاربر غیر ریشه sudo و یک فایروال، راه اندازی شد.
مرحله 1 – نصب جاوا
نصب جاوا دارای دو جزء اصلی است. JDK ابزارهای نرم افزاری ضروری را برای توسعه در جاوا فراهم می کند، مانند کامپایلر و دیباگر. JRE برای اجرای واقعی برنامه های جاوا استفاده می شود. علاوه بر این، دو گزینه اصلی نصب جاوا برای انتخاب وجود دارد. OpenJDK اجرای متن باز جاوا است و با اوبونتو بسته بندی شده است. Oracle JDK نسخه اصلی جاوا است و به طور کامل توسط Oracle، توسعه دهندگان جاوا نگهداری می شود.
هر دوی این نسخه ها به طور رسمی توسط اوراکل به رسمیت شناخته شده اند. هر دو نیز توسط Oracle توسعه داده شدهاند، اما OpenJDK به دلیل ماهیت منبع باز آن، مشارکتهای اجتماعی را نیز دارد. با این حال، با شروع با جاوا 11، این دو گزینه اکنون از نظر عملکردی با جزئیاتی که توسط Oracle ارائه شده یکسان هستند. انتخاب بین اینکه کدام یک را نصب کنید به انتخاب مجوز مناسب برای شرایط شما بستگی دارد. علاوه بر این، OpenJDK این گزینه را دارد که JRE را به طور جداگانه نصب کند، در حالی که OracleJDK به همراه JRE خود بسته بندی می شود.
گزینه 1 – نصب پیش فرض JRE/JDK
یکی از گزینه های نصب جاوا استفاده از نسخه بسته بندی شده با اوبونتو است. به طور پیشفرض، اوبونتو 22.04 شامل Open JDK 11 است که یک نوع منبع باز از JRE و JDK است.
برای نصب نسخه OpenJDK جاوا، ابتدا فهرست بسته apt خود را به روز کنید:
sudo apt update
بعد، بررسی کنید که آیا جاوا قبلاً نصب شده است یا خیر:
java -version
اگر جاوا در حال حاضر نصب نشده باشد، خروجی زیر را دریافت خواهید کرد:
Output
Command 'java' not found, but can be installed with:
sudo apt install default-jre # version 2:1.11-72build1, or
sudo apt install openjdk-11-jre-headless # version 11.0.14+9-0ubuntu2
sudo apt install openjdk-17-jre-headless # version 17.0.2+8-1
sudo apt install openjdk-18-jre-headless # version 18~36ea-1
sudo apt install openjdk-8-jre-headless # version 8u312-b07-0ubuntu1
دستور زیر را برای نصب JRE از OpenJDK 11 اجرا کنید:
sudo apt install default-jre
JRE به شما امکان می دهد تقریباً تمام نرم افزارهای جاوا را اجرا کنید.
تأیید نصب با:
java -version
خروجی مشابه زیر دریافت خواهید کرد:
Output
openjdk version "11.0.14" 2022-01-18
OpenJDK Runtime Environment (build 11.0.14+9-Ubuntu-0ubuntu2)
OpenJDK 64-Bit Server VM (build 11.0.14+9-Ubuntu-0ubuntu2, mixed mode, sharing)
ممکن است برای کامپایل و اجرای برخی نرم افزارهای خاص مبتنی بر جاوا به JDK علاوه بر JRE نیاز داشته باشید. برای نصب JDK دستور زیر را اجرا کنید و JRE را نیز نصب کنید:
sudo apt install default-jdk
با بررسی نسخه javac، کامپایلر جاوا، تأیید کنید که JDK نصب شده است:
javac -version
خروجی زیر را خواهید دید:
Output
javac 11.0.14
در مرحله بعد، نحوه نصب JDK و JRE رسمی Oracle را یاد خواهید گرفت.
گزینه 2 – نصب Oracle JDK 11
موافقت نامه مجوز Oracle برای جاوا اجازه نصب خودکار از طریق مدیران بسته را نمی دهد. برای نصب Oracle JDK، که نسخه رسمی توزیع شده توسط Oracle است، باید یک حساب Oracle ایجاد کنید و به صورت دستی JDK را دانلود کنید تا یک مخزن بسته جدید برای نسخه ای که می خواهید استفاده کنید اضافه کنید. سپس می توانید از apt برای نصب آن با کمک یک اسکریپت نصب شخص ثالث استفاده کنید. Oracle JDK دارای JRE است، بنابراین نیازی به نصب جداگانه آن ندارید.
نسخه JDK Oracle که باید دانلود کنید باید با نسخه اسکریپت نصب کننده مطابقت داشته باشد. برای اینکه بدانید به کدام نسخه نیاز دارید، به صفحه oracle-java11-installer مراجعه کنید.
همانطور که در شکل زیر نشان داده شده است، بسته مربوط به Jammy را پیدا کنید:
در این تصویر نسخه اسکریپت 11.0.13 است. در این مورد، به Oracle JDK 11.0.13 نیاز خواهید داشت. بسته به زمان نصب نرم افزار ممکن است شماره نسخه شما متفاوت باشد.
شما نیازی به دانلود چیزی از این صفحه ندارید. به زودی اسکریپت نصب را از طریق apt دانلود خواهید کرد.
در مرحله بعد، از Archive Downloads دیدن کنید و نسخه ای را که با نسخه مورد نیاز مطابقت دارد پیدا کنید.
از این لیست، بسته tar.gz بایگانی فشرده Linux x64 را انتخاب کنید:
صفحهای به شما نمایش داده میشود که از شما میخواهد قرارداد مجوز اوراکل را بپذیرید. چک باکس را برای پذیرش قرارداد مجوز انتخاب کنید و دکمه دانلود را فشار دهید. دانلود شما آغاز خواهد شد. ممکن است لازم باشد قبل از شروع دانلود یک بار دیگر وارد حساب Oracle خود شوید.
پس از دانلود فایل، باید آن را به سرور خود انتقال دهید. در دستگاه محلی خود، فایل را در سرور خود آپلود کنید. در macOS، Linux، یا Windows با استفاده از Windows Subsystem for Linux، از دستور scp برای انتقال فایل به فهرست اصلی کاربر sammy خود استفاده کنید. دستور زیر فرض می کند که فایل Oracle JDK را در پوشه Downloads ماشین محلی خود ذخیره کرده اید:
scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~
پس از اتمام آپلود فایل، به سرور خود بازگردید و مخزن شخص ثالث را اضافه کنید که به شما در نصب جاوا Oracle کمک می کند.
ابتدا کلید امضای مورد استفاده برای تأیید نرم افزاری را که می خواهید نصب کنید وارد کنید:
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/oracle-jdk11-installer.gpg --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
این خروجی را خواهید دید:
Output
gpg: keybox '/usr/share/keyrings/oracle-jdk11-installer.gpg' created
gpg: /tmp/trustdb.gpg: trustdb created
gpg: key EA8CACC073C3DB2A: public key "Launchpad PPA for Linux Uprising" imported
gpg: Total number processed: 1
gpg: imported: 1
در مرحله بعد، مخزن را به لیست منابع بسته خود اضافه کنید:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/oracle-jdk11-installer.gpg] https://ppa.launchpadcontent.net/linuxuprising/java/ubuntu jammy main" | sudo tee /etc/apt/sources.list.d/oracle-jdk11-installer.list > /dev/null
لیست بسته خود را به روز کنید تا نرم افزار جدید برای نصب در دسترس باشد:
sudo apt update
نصب کننده به دنبال Oracle JDK شما در /var/cache/oracle-jdk11-installer-local می گردد. این دایرکتوری را ایجاد کنید و آرشیو Oracle JDK را به آنجا منتقل کنید:
sudo mkdir -p /var/cache/oracle-jdk11-installer-local/
sudo cp jdk-11.0.13_linux-x64_bin.tar.gz /var/cache/oracle-jdk11-installer-local/
در نهایت بسته را نصب کنید:
sudo apt install oracle-java11-installer-local
نصب کننده ابتدا از شما می خواهد که موافقت نامه مجوز Oracle را بپذیرید. توافق نامه را بپذیرید، سپس نصب کننده بسته جاوا را استخراج کرده و آن را نصب می کند.
اکنون به نحوه انتخاب نسخه جاوا که می خواهید استفاده کنید نگاه خواهید کرد.
مرحله 2 – مدیریت جاوا
شما می توانید چندین نصب جاوا روی یک سرور داشته باشید. با استفاده از دستور update-alternatives می توانید پیکربندی کنید که کدام نسخه پیش فرض برای استفاده در خط فرمان است.
sudo update-alternatives --config java
اگر هر دو نسخه جاوا را در این آموزش نصب کرده باشید، خروجی به این صورت خواهد بود:
Output
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <enter> to keep the current choice[*], or type selection number:
شماره مربوط به نسخه جاوا را برای استفاده از آن به عنوان پیش فرض انتخاب کنید، یا ENTER را فشار دهید تا تنظیمات فعلی در جای خود باقی بمانند.
می توانید این کار را برای سایر دستورات جاوا مانند کامپایلر (javac) انجام دهید:
sudo update-alternatives --config javac
دستورات دیگری که این دستور را می توان برای آنها اجرا کرد عبارتند از: keytool، javadoc و jarsigner.
مرحله 3 – تنظیم متغیر محیطی JAVA_HOME
بسیاری از برنامه های نوشته شده با استفاده از جاوا از متغیر محیطی JAVA_HOME برای تعیین محل نصب جاوا استفاده می کنند.
برای تنظیم این متغیر محیطی، ابتدا محل نصب جاوا را مشخص کنید. از دستور update-alternatives استفاده کنید:
sudo update-alternatives --config java
این دستور هر نصب جاوا را به همراه مسیر نصب آن نشان می دهد:
Output
There are 2 choices for the alternative java (providing /usr/bin/java).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 auto mode
1 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 manual mode
* 2 /usr/lib/jvm/java-11-oracle/bin/java 1091 manual mode
Press <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 واقع شده است.
مسیر را از نصب دلخواه خود کپی کنید. سپس /etc/environment را با استفاده از nano یا ویرایشگر متن دلخواه خود باز کنید:
sudo nano /etc/environment
در پایان این فایل، خط زیر را اضافه کنید و مطمئن شوید که مسیر برجسته شده را با مسیر کپی شده خود جایگزین کرده و قسمت bin/ مسیر را درج نکنید:
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
با تغییر این فایل، مسیر JAVA_HOME برای همه کاربران سیستم شما تنظیم می شود.
فایل را ذخیره کرده و از ویرایشگر خارج شوید.
اکنون این فایل را دوباره بارگیری کنید تا تغییرات در جلسه فعلی شما اعمال شود:
source /etc/environment
بررسی کنید که متغیر محیطی تنظیم شده باشد:
echo $JAVA_HOME
مسیری را که به تازگی تعیین کرده اید می بینید:
Output
/usr/lib/jvm/java-11-openjdk-amd64
سایر کاربران برای اعمال این تنظیمات باید دستور source /etc/environment را اجرا کنند یا از سیستم خارج شوند و دوباره وارد شوند.
نتیجه
در این آموزش شما چندین نسخه جاوا را نصب کرده و نحوه مدیریت آنها را یاد گرفتید. اکنون می توانید نرم افزارهایی مانند Tomcat، Jetty، Glassfish، Cassandra یا Jenkins را نصب کنید که روی جاوا اجرا می شود.