آنچه در این مقاله میخوانید
آموزش و نحوه نصب جاوا با Apt در اوبونتو (JRE و JDK)
۱۰ مهر ۱۴۰۴
جاوا و ماشین مجازی جاوا (JVM) پایه و اساس بسیاری از نرمافزارها هستند، از جمله سرورهایی مثل Tomcat، Jetty، Glassfish، و ابزارهایی مانند Cassandra و Jenkins. اگر میخواهید برنامههایی بسازید یا اجرا کنید که به جاوا وابستهاند، نصب درست آن ضروری است.
در این راهنما، قدم به قدم نصب نسخههای مختلف محیط اجرایی جاوا (JRE) و کیت توسعه جاوا (JDK) را با استفاده از ابزار apt بررسی میکنیم. تمرکزمان روی OpenJDK (نسخه متنباز) و JDK رسمی اوراکل خواهد بود. در پایان، یاد میگیرید چطور نسخه مورد نظرتان را انتخاب کنید. بعد از اتمام، میتوانید از JDK برای نوشتن کد استفاده کنید یا با JRE برنامههای جاوا را اجرا نمایید.
نکته جالب: اگر اپلیکیشنهای فرانتاند خود را از گیتهاب دیپلوی میکنید، لیارا میتواند گزینه خوبی باشد. این سرویس به شما اجازه میدهد روی مقیاسپذیری تمرکز کنید و بقیه کارها را به آن بسپارید.
با سرور ابو نتو لیارا، بدون دردسر سرور خود را تنها با چند کلیک مدیریت کنید.
✅ منابع کاملاً اختصاصی و پایدار✅ سرعت بالا و ترافیک نامحدود✅ امنیت پیشرفته و پشتیبانی 24/7
خرید و راهاندازی سرور اوبونتو ساعتی لیارا
آنچه در ادامه خواهید خواند:
- پیشنیازها
- گام اول: نصب جاوا
- گام دوم: مدیریت جاوا
- گام سوم: تنظیم متغیر محیطی JAVA_HOME
- خطاهای رایج و رفع اشکال
- سوالات متداول
- جمع بندی
پیشنیازها
برای دنبال کردن این آموزش، به این موارد نیاز دارید:
- یک سرور اوبونتو که طبق راهنمای تنظیم اولیه سرور اوبونتو راهاندازی شده باشد، شامل یک کاربر غیرروت با دسترسی sudo و فایروال فعال.
گام اول: نصب جاوا
نصب جاوا دو بخش اصلی دارد: JDK که ابزارهای توسعه مثل کامپایلر و دیباگر را فراهم میکند، و JRE که برای اجرای برنامههای جاوا لازم است. دو گزینه اصلی برای انتخاب وجود دارد: OpenJDK که نسخه متنباز جاوا است و به صورت پیشفرض در اوبونتو موجود است، و Oracle JDK که نسخه اصلی و تحت مدیریت کامل اوراکل است.
هر دو نسخه توسط اوراکل تأیید شدهاند و هر دو توسط این شرکت توسعه مییابند، اما OpenJDK از کمکهای جامعه متنباز هم بهره میبرد. از جاوا 11 به بعد، این دو از نظر عملکردی کاملاً مشابه هستند، طبق توضیحات اوراکل. انتخاب بینشان بیشتر به لایسنس مورد نیازتان بستگی دارد. در OpenJDK میتوانید JRE را جداگانه نصب کنید، اما Oracle JDK همراه با JRE ارائه میشود.

نصب JRE/JDK پیشفرض
یکی از سادهترین راهها، استفاده از نسخهای است که اوبونتو به صورت پیشفرض ارائه میدهد. اوبونتو معمولاً OpenJDK ۱۱ را شامل میشود، که نسخه متنباز JRE و JDK است.
ابتدا فهرست پکیجهای apt را بهروزرسانی کنید:
sudo apt update
سپس بررسی کنید آیا جاوا از قبل نصب شده است:
java -version
اگر نصب نشده باشد، خروجی چیزی شبیه این خواهد بود:
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 ۱۱، دستور زیر را اجرا کنید:
sudo apt install default-jre
این کار به شما اجازه میدهد تقریباً همه برنامههای جاوا را اجرا کنید.
برای تأیید نصب:
java -version
خروجی شبیه این خواهد بود:
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 را هم شامل میشود):
sudo apt install default-jdk
نسخه کامپایلر جاوا را چک کنید:
javac -version
خروجی:
javac 11.0.14
حالا بیایید سراغ نصب JDK رسمی اوراکل برویم.
نصب Oracle JDK ۱۱
لایسنس اوراکل اجازه نصب خودکار از طریق مدیر پکیجها را نمیدهد. برای نصب Oracle JDK، باید حساب اوراکل بسازید، فایل را دستی دانلود کنید، یک مخزن جدید اضافه کنید و سپس با کمک اسکریپت نصب سومشخصی، آن را نصب نمایید. Oracle JDK همراه با JRE است، پس نیازی به نصب جداگانه نیست.
نسخه JDK که دانلود میکنید باید با اسکریپت نصب همخوانی داشته باشد. برای چک کردن نسخه مناسب، به صفحه oracle-java11-installer بروید.
بسته مربوط به Jammy را پیدا کنید (مثل تصویر زیر):

در این مثال، نسخه اسکریپت ۱۱.۰.۱۳ است، پس باید Oracle JDK ۱۱.۰.۱۳ را دانلود کنید. نسخه شما ممکن است بسته به زمان نصب متفاوت باشد.
از این صفحه چیزی دانلود نکنید؛ اسکریپت را بعداً از طریق apt میگیرید.
حالا به صفحه آرشیو دانلودهای اوراکل بروید و نسخه را پیدا کنید.
صفحه دانلود آرشیو جاوا اوراکل، جایی که نسخههای قدیمیتر موجود است.
از لیست، بسته فشرده Linux x64 (.tar.gz) را انتخاب کنید:

صفحهای ظاهر میشود که باید لایسنس اوراکل را بپذیرید. چکباکس را تیک بزنید و دانلود را شروع کنید. ممکن است نیاز به ورود دوباره به حساب اوراکل باشد.

پس از دانلود، فایل را به سرور منتقل کنید. اگر از مک، لینوکس یا ویندوز با WSL استفاده میکنید، از scp استفاده کنید (فرض کنید فایل در فولدر Downloads محلیتان است):
text
scp Downloads/jdk-11.0.13_linux-x64_bin.tar.gz sammy@your_server_ip:~
پس از آپلود، به سرور برگردید و مخزن سومشخصی را اضافه کنید.
ابتدا کلید امضا را وارد کنید:
sudo gpg --homedir /tmp --no-default-keyring --keyring /usr/share/keyrings/oracle-jdk11-installer.gpg --keyserver keyserver.ubuntu.com --recv-keys EA8CACC073C3DB2A
خروجی:
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
نصبکننده فایل دانلودشده را در /var/cache/oracle-jdk11-installer-local جستجو میکند. این دایرکتوری را بسازید و فایل را منتقل کنید:
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
نصبکننده لایسنس اوراکل را نشان میدهد؛ آن را بپذیرید تا استخراج و نصب انجام شود.
حالا نوبت مدیریت نسخههاست.
گام دوم: مدیریت جاوا
میتوانید چندین نسخه جاوا روی یک سرور داشته باشید. برای انتخاب نسخه پیشفرض در خط فرمان، از update-alternatives استفاده کنید:
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-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 هم قابل تنظیم هستند.
گام سوم: تنظیم متغیر محیطی 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-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 ۱۱: /usr/lib/jvm/java-11-openjdk-amd64/bin/java
- Oracle Java: /usr/lib/jvm/java-11-oracle/jre/bin/java
مسیر مورد نظر را کپی کنید (بدون bin/). فایل /etc/environment را ویرایش کنید:
sudo nano /etc/environment
در انتها اضافه کنید (مسیر را جایگزین کنید):
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
فایل را ذخیره کنید و خارج شوید.
تغییرات را اعمال کنید:
source /etc/environment
چک کنید:
echo $JAVA_HOME
خروجی:
/usr/lib/jvm/java-11-openjdk-amd64
کاربران دیگر باید source /etc/environment را اجرا کنند یا لاگاوت/لاگاین کنند.
خطاهای رایج و رفع اشکال
“Java not found” یا “command not found” این یعنی سیستم جاوا را پیدا نمیکند. PATH را تنظیم کنید:
export PATH=$PATH:/usr/lib/jvm/java-11-openjdk-amd64/bin
“JAVA_HOME is not set” متغیر JAVA_HOME تنظیم نشده. آن را ست کنید:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
“Cannot locate the installed JDK or JRE version” سیستم JDK/JRE را پیدا نمیکند. مسیر را چک کنید و PATH را تنظیم نمایید:
export PATH=$PATH:/usr/lib/jvm/java-11-openjdk-amd64/bin
“Permission denied” در نصب کاربر مجوز ندارد. با sudo نصب کنید:
sudo apt-get install openjdk-11-jdk
سوالات متداول
در ادامه به سوالاتی که امکان دارد در این زمینه برای شما بدون پاسخ بماند، جوابهای کوتاه اما مفیدی دادهایم که با استفاده از آن میتوانید به سوال خود پاسخ صحیحی را بدهید.
چگونه چک کنم جاوا روی اوبونتو نصب است؟
دستور زیر را اجرا کنید:
java -version
اگر نصب باشد، نسخه را نشان میدهد؛ иначе خطا میدهد.
تفاوت JRE و JDK چیست؟
JRE محیط اجرایی برای برنامههای جاوا فراهم میکند. JDK شامل JRE به علاوه ابزارهای توسعه مثل کامپایلر و دیباگر است.
ویژگی | JRE | JDK |
---|---|---|
محیط اجرایی | بله | بله |
ابزارهای توسعه | خیر | بله |
کامپایلر | خیر | بله |
دیباگر | خیر | بله |
چگونه نسخه خاصی از جاوا نصب کنم؟
با apt-get، مثلاً برای جاوا ۱۱:
sudo apt-get install openjdk-11-jdk
چگونه بین نسخههای جاوا سوییچ کنم؟
از update-alternatives استفاده کنید، مثلاً:
sudo update-alternatives --config java
چگونه جاوا را حذف کنم؟
دستور:
sudo apt-get remove openjdk-11-jdk
JAVA_HOME چیست و چطور ست کنم؟
متغیر محیطی که به محل نصب جاوا اشاره میکند. ست کنید:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
جمع بندی
در این آموزش، نصب و مدیریت نسخههای مختلف جاوا روی اوبونتو را یاد گرفتید. حال میتوانید نرمافزارهایی مانند Tomcat، Jetty، Glassfish، Cassandra یا Jenkins را نصب کنید و پروژههایتان را پیش ببرید. بنابراین از این آموزش به درستی استفاده کنید.