برای نصب Java در Debian، ابتدا نسخه موردنیاز برنامه را مشخص کنید؛ جدیدترین JDK الزاماً با همه نرمافزارها سازگار نیست. Debian 11 از LTS رسمی خارج شده و برای نصب تازه مناسب نیست. نمونه زیر برای Debian 13 است که بسته default-jdk آن به OpenJDK 21 وابسته است؛ این عدد را به انتشارهای دیگر Debian تعمیم ندهید.
JDK یا فقط محیط اجرا؟
JRE برای اجرای برنامه و JDK برای توسعه و ابزارهایی مانند javac است. سرور بدون محیط گرافیکی معمولاً به بسته headless نیاز دارد. اگر محصول شما نسخه مشخصی را تأیید کرده، همان ترکیب پشتیبانیشده را انتخاب کنید و شرایط مجوز توزیع انتخابی را بخوانید.
نصب از مخزن همان Debian
sudo apt update
sudo apt install default-jdk-headless
java -version
javac -version
مخزن یک Debian دیگر را برای گرفتن JDK جدید به سیستم اضافه نکنید. اگر بسته نصب شد ولی فرمان پیدا نمیشود، PATH و حساب اجرا را بررسی کنید. ابزارهای بسته رسمی را با باینری دانلودشده در /usr/local بیبرنامه ترکیب نکنید.
چند نسخه و JAVA_HOME
update-alternatives --display java
readlink -f /usr/bin/java
برای انتخاب تعاملی میتوان از sudo update-alternatives –config java استفاده کرد؛ این تغییر ممکن است برنامههای دیگر را هم تحت تأثیر قرار دهد. javac نیز گروه alternatives جدا دارد. JAVA_HOME باید ریشه JDK باشد، نه فایل bin/java. برای سرویس، مسیر و متغیر را صریح تعیین کنید؛ فایل profile کاربر لزوماً توسط systemd خوانده نمیشود.
یک آزمون کوچک کامپایل
در پوشه آزمایشی تازه، فایل Hello.java را بسازید:
public class Hello {
public static void main(String[] args) {
System.out.println("Java is ready");
}
}
javac Hello.java
java Hello
موفقیت این نمونه فقط آمادهبودن کامپایلر و runtime را نشان میدهد؛ سازگاری اپلیکیشن واقعی باید با آزمونهای خودش تأیید شود.
عیبیابی و انتقال برنامه قدیمی
UnsupportedClassVersionError معمولاً نشان میدهد فایل با Java جدیدتر از runtime ساخته شده است. نسخه build و اجرا را هماهنگ کنید، نه اینکه فایل class را ویرایش کنید. برای انتقال از Debian 11، برنامه، تنظیمات، گواهیهای موردنیاز و سرویس راهانداز را روی مقصد آزمایش کنید؛ تغییر JDK میتواند رفتار TLS و کتابخانهها را نیز تغییر دهد. رمز یا truststore حساس را وارد مخزن عمومی نکنید.
مطالعه مرتبط
منابع و مستندات
بازبینی محتوا و منابع: ۲۶ مهر ۱۴۰۵. دستورهای نمونه برای محیط مشخصشدهاند؛ پیش از استفاده روی سرویس عملیاتی، سازگاری محیط و نسخه پشتیبان را بررسی کنید.