Takip et

Ubuntu 20.04 Üzerine Apt ile Java Nasıl Kurulur

Ubuntu 20.04 Üzerine Apt ile Java Nasıl Kurulur Giriş Java, 1995 yılında Sun Microsystems tarafından geliştirilen ve günümüzde Oracle Corp

Ubuntu 20.04 Üzerine Apt ile Java Nasıl Kurulur

Giriş

Java, 1995 yılında Sun Microsystems tarafından geliştirilen ve günümüzde Oracle Corporation tarafından sürdürülen, nesne yönelimli, sınıf tabanlı, eşzamanlı ve genel amaçlı bir programlama dilidir. “Bir kez yaz, her yerde çalıştır” (Write Once, Run Anywhere – WORA) felsefesiyle tasarlanmış olması sayesinde, Java kodu derlendikten sonra herhangi bir platformda (işletim sistemi, donanım mimarisi) Java Sanal Makinesi (JVM) kurulu olduğu sürece çalışabilir. Bu özelliği, Java’yı kurumsal uygulamalardan mobil geliştirmeye (Android), web uygulamalarından büyük veri işleme platformlarına kadar geniş bir yelpazede popüler bir seçim haline getirmiştir.

Ubuntu 20.04 LTS (Long Term Support) sürümü, kararlılığı, güvenilirliği ve uzun süreli güvenlik güncellemeleri nedeniyle sunucular ve geliştirme ortamları için sıkça tercih edilen bir Linux dağıtımıdır. apt (Advanced Package Tool) ise Ubuntu ve Debian tabanlı diğer dağıtımlarda yazılım paketlerini yönetmek için kullanılan güçlü bir komut satırı aracıdır. apt sayesinde Java kurulumu, bağımlılıkların otomatik olarak çözülmesi ve sistemle uyumlu bir şekilde entegre edilmesi açısından son derece kolay ve güvenilirdir.

Bu makalede, Ubuntu 20.04 üzerinde Java’nın farklı sürümlerini apt paket yöneticisi aracılığıyla nasıl kuracağınızı, yöneteceğinizi ve bir geliştirme ortamı için nasıl yapılandıracağınızı ayrıntılı olarak ele alacağız. Hem OpenJDK’nın varsayılan ve belirli sürümlerinin kurulumunu hem de isteğe bağlı olarak Oracle JDK’nın kurulum yöntemlerini inceleyecek, birden fazla Java sürümünü yönetme, JAVA_HOME ortam değişkenini ayarlama ve yaygın sorunları giderme konularına değineceğiz. Bu kılavuzun sonunda, Ubuntu 20.04 sisteminizde sağlam ve işlevsel bir Java geliştirme ortamına sahip olacaksınız.

Java Versiyonları ve Tercihler

Java ekosistemi, zaman içinde çeşitli sürümler ve uygulamalarla genişlemiştir. Özellikle OpenJDK ve Oracle JDK arasındaki farklar ve LTS (Long Term Support) sürümlerinin önemi, kurulum öncesinde anlaşılması gereken kritik noktalardır.

OpenJDK ve Oracle JDK Arasındaki Farklar

Java’nın iki ana uygulaması OpenJDK ve Oracle JDK’dır. Temel olarak aynı kodu paylaşsalar da, aralarında bazı önemli farklar bulunmaktadır:

* OpenJDK (Open Java Development Kit): Açık kaynaklı ve ücretsiz bir Java platformu uygulamasıdır. Oracle ve diğer birçok şirket ve birey tarafından aktif olarak geliştirilmektedir. Çoğu Linux dağıtımı, varsayılan Java paketi olarak OpenJDK’yı sunar. Geliştirme ve üretim ortamlarında kullanımı tamamen ücretsiz ve lisans sorunlarından arındırılmıştır. Genellikle en son özellikler ve güvenlik güncellemeleri OpenJDK projesi üzerinden yayınlanır.
* Oracle JDK: Oracle tarafından dağıtılan ticari bir Java uygulamasıdır. Geçmişte ücretsiz olsa da, Oracle Java 11 ve sonraki sürümlerden itibaren ticari kullanım için ücretli bir lisans gerektirmektedir. Geliştirme amacıyla kullanılabilirken, üretim ortamlarında veya ticari uygulamalarda belirli lisans koşullarına tabidir. Oracle JDK, OpenJDK’ya göre bazı ek tescilli araçlar veya performans iyileştirmeleri içerebilir, ancak çoğu durumda bu farklılıklar ortalama bir kullanıcı veya geliştirici için belirleyici değildir.

Günümüzde, lisanslama karmaşıklığı ve OpenJDK’nın olgunluğu ve topluluk desteği göz önüne alındığında, çoğu geliştirici ve kuruluş için OpenJDK tercih edilen seçenektir. Ubuntu’nun resmi depolarında bulunan tüm Java paketleri OpenJDK tabanlıdır.

LTS Sürümlerinin Önemi

Java’nın belirli sürümleri “LTS” (Long Term Support – Uzun Süreli Destek) olarak işaretlenir. Bu sürümler, Oracle ve OpenJDK topluluğu tarafından daha uzun süre güvenlik güncellemeleri ve hata düzeltmeleri alır. LTS olmayan sürümler genellikle altı ayda bir yayınlanır ve daha kısa bir destek döngüsüne sahiptir.

Popüler LTS Java sürümleri şunlardır:

* Java 8 (LTS): Hala birçok eski kurumsal uygulamada kullanılmaktadır. Uzun süreli desteği sayesinde güvenilirliğini korumuştur.
* Java 11 (LTS): Java 8’den sonraki ilk büyük LTS sürümüdür. Modülerlik (Jigsaw projesi) gibi önemli iyileştirmeler getirmiştir. Birçok yeni projenin ve geliştiricinin tercihidir.
* Java 17 (LTS): Java 11’den sonraki bir diğer önemli LTS sürümüdür. Sealed Classes, Pattern Matching gibi yeni dil özelliklerini ve performans iyileştirmelerini içerir. Modern uygulamalar için güçlü bir adaydır.
* Java 21 (LTS): En yeni LTS sürümüdür. Sanal Thread’ler (Project Loom), Sequenced Collections gibi önemli yenilikler sunar.

Hangi sürümü seçeceğiniz, projenizin gereksinimlerine, kullanacağınız kütüphanelerin uyumluluğuna ve kuruluşunuzun standartlarına bağlıdır. Yeni bir proje başlatıyorsanız, genellikle en son LTS sürümü (şu an için Java 21 veya 17) tercih etmek iyi bir başlangıç noktasıdır.

Sistem Gereksinimleri ve Hazırlık

Java kurulumuna başlamadan önce sisteminizin belirli gereksinimleri karşıladığından ve temel hazırlık adımlarının tamamlandığından emin olmanız gerekir.

Gerekli Önkoşullar

* Ubuntu 20.04 LTS: Bu kılavuz, özellikle Ubuntu 20.04 (Focal Fossa) sürümü için yazılmıştır. Diğer Ubuntu veya Debian tabanlı dağıtımlarda da benzer adımlar izlenebilir, ancak paket adları veya versiyonları farklılık gösterebilir.
* sudo Yetkilerine Sahip Bir Kullanıcı: Java paketlerini kurmak ve sistem çapında değişiklikler yapmak için yönetici (root) ayrıcalıklarına ihtiyacınız olacaktır. Bu nedenle, sudo komutunu kullanabilen bir kullanıcı hesabıyla oturum açmış olmanız gerekmektedir.
* İnternet Bağlantısı: Java paketlerini Ubuntu depolarından indirmek için aktif bir internet bağlantısı şarttır.

Paket Listesini Güncelleme

Kuruluma başlamadan önce, sisteminizin paket listesini güncellemek ve mevcut paketleri yükseltmek iyi bir uygulamadır. Bu, en son paket bilgilerini almanızı sağlar ve olası bağımlılık sorunlarını önler.

Terminali açın (Ctrl+Alt+T) ve aşağıdaki komutları çalıştırın:

sudo apt update
sudo apt upgrade -y

* sudo apt update: Yerel paket indeksini Ubuntu depolarındaki en son bilgilerle senkronize eder. Bu, hangi paketlerin mevcut olduğunu ve hangi sürümlerin yüklenebileceğini sisteminize bildirir.
* sudo apt upgrade -y: Sisteminizde yüklü olan tüm paketleri en son sürümlerine yükseltir. -y bayrağı, tüm yükseltme onay sorularına otomatik olarak “evet” yanıtı vermenizi sağlar.

Bu adımları tamamladıktan sonra, Java kurulumuna geçmeye hazırsınız.

OpenJDK Kurulumu

OpenJDK, Ubuntu’nun resmi depolarında bulunan ve çoğu kullanıcı için önerilen Java uygulamasıdır. Kurulumu son derece basittir ve apt paket yöneticisi aracılığıyla kolayca gerçekleştirilebilir.

Varsayılan JRE Kurulumu

Eğer sadece Java uygulamalarını çalıştırmanız gerekiyorsa (yani kod derlemeyecekseniz), Java Runtime Environment (JRE) yeterli olacaktır. JRE, Java uygulamalarını çalıştırmak için gerekli olan JVM ve temel kütüphaneleri içerir.

Varsayılan JRE’yi kurmak için aşağıdaki komutu kullanın:

sudo apt install default-jre

Kurulum tamamlandıktan sonra, Java’nın doğru bir şekilde yüklendiğini doğrulamak için sürümünü kontrol edebilirsiniz:

java -version

Çıktı, yüklü Java sürümünü (genellikle en son LTS sürümü olan OpenJDK 11 veya 17) ve ilgili bilgileri gösterecektir:

openjdk version "11.0.12" 2021-07-20
OpenJDK Runtime Environment (build 11.0.12+7-Ubuntu-0ubuntu2.20.04)
OpenJDK 64-Bit Server VM (build 11.0.12+7-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Varsayılan JDK Kurulumu

Java ile uygulama geliştirmek, kod derlemek ve hata ayıklamak istiyorsanız, Java Development Kit (JDK) kurmanız gerekir. JDK, JRE’ye ek olarak Java derleyicisi (javac), hata ayıklayıcılar ve diğer geliştirme araçlarını içerir.

Varsayılan JDK’yı kurmak için aşağıdaki komutu kullanın:

sudo apt install default-jdk

Bu komut, sisteminiz için varsayılan OpenJDK sürümünü (genellikle en son LTS sürümü) kuracaktır. Kurulum tamamlandığında, hem java hem de javac komutlarının kullanılabilirliğini kontrol edebilirsiniz.

java sürümünü kontrol edin:

java -version

javac (Java Derleyici) sürümünü kontrol edin:

javac -version

Çıktı, javac komutunun da kullanılabilir olduğunu ve java komutuyla aynı sürüme işaret ettiğini gösterecektir:

javac 11.0.12

Belirli Bir OpenJDK Sürümünü Kurma

Bazen projenizin belirli bir Java sürümünü gerektirmesi veya farklı bir LTS sürümünü kullanmak istemeniz gerekebilir. Ubuntu depoları, çeşitli OpenJDK sürümlerini sunar.

Mevcut OpenJDK paketlerini listelemek için aşağıdaki komutu kullanabilirsiniz:

apt search openjdk

Bu komut, depolarda bulunan tüm OpenJDK ile ilgili paketleri listeleyecektir. Çıktı, openjdk-8-jdk, openjdk-11-jdk, openjdk-17-jdk, openjdk-21-jdk gibi paket adlarını içerecektir.

Örneğin, Java 11 LTS sürümünü kurmak için:

sudo apt install openjdk-11-jdk

Java 17 LTS sürümünü kurmak için:

sudo apt install openjdk-17-jdk

Java 21 LTS sürümünü kurmak için:

sudo apt install openjdk-21-jdk

Kurulum tamamlandıktan sonra, kurduğunuz sürümün doğru olduğunu doğrulamak için sürüm kontrolü yapabilirsiniz. Ancak, birden fazla Java sürümü yüklüyse, java -version komutu sistemin varsayılan olarak ayarladığı sürümü gösterecektir. Belirli bir sürümü varsayılan yapmak için sonraki bölümde anlatılan update-alternatives komutunu kullanmanız gerekecektir.

Birden Fazla Java Sürümünü Yönetme

Bir geliştirici olarak, farklı projeler için farklı Java sürümlerine ihtiyaç duymanız oldukça yaygındır. Ubuntu, update-alternatives komutu aracılığıyla birden fazla Java sürümünü kolayca yönetmenizi sağlar. Ayrıca, bazı uygulamalar ve geliştirme ortamları için JAVA_HOME ortam değişkeninin doğru şekilde ayarlanması önemlidir.

Varsayılan Java Sürümünü Ayarlama

Sisteminizde birden fazla Java sürümü yüklüyse, update-alternatives komutu, java ve javac gibi komutların hangi Java sürümüne işaret edeceğini belirlemenizi sağlar.

Mevcut Java uygulamalarını ve bunların önceliklerini görmek için aşağıdaki komutu kullanın:

sudo update-alternatives --config java

Bu komut, sisteminizde yüklü olan tüm Java yürütülebilir dosyalarını bir liste halinde sunar ve sizden varsayılan olarak kullanmak istediğiniz sürümün numarasını girmenizi ister:

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-17-openjdk-amd64/bin/java      1711      manual mode

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

Bu örnekte, java-11-openjdk-amd64 ve java-17-openjdk-amd64 olmak üzere iki Java sürümü yüklüdür. * işareti, şu anda varsayılan olarak Java 11’in seçili olduğunu gösterir. Eğer Java 17’yi varsayılan yapmak istiyorsanız, 2 yazıp Enter tuşuna basın.

Aynı işlemi javac (Java derleyici) için de yapmanız gerekir:

sudo update-alternatives --config javac

Yine, istediğiniz javac sürümünün numarasını girin. Genellikle java ve javac için aynı sürümü seçmek en iyisidir.

Seçimi yaptıktan sonra, yeni varsayılan sürümün etkin olup olmadığını kontrol edin:

java -version
javac -version

JAVA_HOME Ortam Değişkenini Ayarlama

Bazı Java uygulamaları, geliştirme ortamları (IDE’ler gibi) ve derleme araçları (Maven, Gradle gibi) doğru Java kurulumunu bulmak için JAVA_HOME ortam değişkenine güvenir. Bu değişken, Java JDK’sının kök dizinini işaret eder.

JAVA_HOME değerini bulmak için, öncelikle update-alternatives komutunun gösterdiği yolu kullanabilirsiniz. Örneğin, Java 17’yi seçtiyseniz, yolu /usr/lib/jvm/java-17-openjdk-amd64 gibi olacaktır.

JAVA_HOME ortam değişkenini kalıcı olarak ayarlamak için, genellikle kullanıcıya özel ~/.bashrc veya ~/.profile dosyasına ya da sistem genelinde /etc/environment dosyasına eklemeniz gerekir. Kullanıcıya özel ayarlar için ~/.bashrc tercih edilir.

1. Hangi Java sürümünün yolunu kullanacağınızı belirleyin:
update-alternatives --config java komutundan seçtiğiniz sürümün “Path” sütunundaki yolu kopyalayın. Örneğin, java-17-openjdk-amd64 için bu yol /usr/lib/jvm/java-17-openjdk-amd64 olabilir.
Not: Genellikle yolun sonunda /bin/java veya /bin/javac kısmı olmadan, sadece JDK’nın kök dizini olmalıdır.

2. ~/.bashrc dosyasını düzenleyin:
Bir metin düzenleyici ile ~/.bashrc dosyasını açın:

nano ~/.bashrc

3. Aşağıdaki satırları dosyanın sonuna ekleyin:
JAVA_HOME değişkenini kurduğunuz Java sürümünün yoluna göre ayarlayın. Örneğin, Java 17 için:

export JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
    export PATH=$PATH:$JAVA_HOME/bin

* export JAVA_HOME="...": JAVA_HOME değişkenini belirtilen yola ayarlar.
* export PATH=$PATH:$JAVA_HOME/bin: Java yürütülebilir dosyalarının (java, javac vb.) sistemin PATH değişkenine eklenmesini sağlar, böylece bu komutları herhangi bir dizinden çalıştırabilirsiniz.

4. Değişiklikleri kaydedin ve düzenleyiciden çıkın. (Nano’da: Ctrl+O, Enter, Ctrl+X)

5. Değişiklikleri uygulayın:
Yeni ortam değişkenlerinin geçerli oturumunuzda etkin olması için ~/.bashrc dosyasını kaynak olarak gösterin:

source ~/.bashrc

6. JAVA_HOME değişkeninin doğru ayarlandığını doğrulayın:

echo $JAVA_HOME

Çıktı, ayarladığınız yolu göstermelidir:

/usr/lib/jvm/java-17-openjdk-amd64

Bu adımları tamamladığınızda, sisteminiz hem varsayılan Java sürümünü doğru bir şekilde kullanacak hem de JAVA_HOME değişkeni aracılığıyla diğer uygulamalar tarafından bulunabilecektir.

Oracle JDK Kurulumu (İsteğe Bağlı)

Oracle JDK, ticari lisanslama koşulları nedeniyle OpenJDK’ya göre daha az tercih edilse de, bazı özel durumlar veya eski projeler için hala gerekli olabilir. Oracle JDK’yı Ubuntu’ya kurmanın iki ana yolu vardır: manuel kurulum veya PPA (Personal Package Archive) kullanarak kurulum. Oracle’ın lisans politikalarının sık sık değiştiğini ve bu nedenle PPA’ların güvenilirliğinin zaman zaman sorunlu olabileceğini unutmamak önemlidir.

Manuel Kurulum

Bu yöntem, Oracle’ın resmi web sitesinden JDK’yı indirip manuel olarak kurmayı içerir.

1. Oracle JDK’yı İndirme:
Oracle’ın resmi Java indirme sayfasına gidin (örneğin, Java 17 veya Java 21 için). “Linux x64 Compressed Archive” (.tar.gz uzantılı) dosyasını indirin. İndirmek için bir Oracle hesabına giriş yapmanız gerekebilir ve lisans anlaşmasını kabul etmeniz istenecektir.

2. JDK Arşivini Çıkarma:
İndirilen .tar.gz dosyasını genellikle /tmp dizinine veya ana dizininize taşıyın. Ardından, bir dizine çıkarın. Örneğin, jdk-17_linux-x64_bin.tar.gz dosyasını indirdiyseniz:

cd ~/Downloads
    tar -xzf jdk-17_linux-x64_bin.tar.gz

Bu işlem, jdk-17.0.x gibi bir dizin oluşturacaktır.

3. JDK’yı /opt Dizinine Taşıma:
Geleneksel olarak, manuel olarak kurulan yazılımlar /opt dizinine taşınır.

sudo mv jdk-17.0.x /opt/oracle-java17

Dizin adını indirdiğiniz sürüme göre ayarlayın.

4. update-alternatives ile Sisteme Entegrasyon:
Sistemin, yeni kurulan Oracle JDK’yı tanıması ve java/javac komutlarına seçenek olarak eklemesi için update-alternatives komutunu kullanın:

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/oracle-java17/bin/java" 1
    sudo update-alternatives --install "/usr/bin/javac" "javac" "/opt/oracle-java17/bin/javac" 1
    sudo update-alternatives --install "/usr/bin/jps" "jps" "/opt/oracle-java17/bin/jps" 1
    # Diğer gerekli araçlar için de tekrarlayın (jar, javadoc vb.)

Son sayı (1), bu alternatifin önceliğini belirtir. Daha yüksek bir sayı, daha yüksek bir öncelik anlamına gelir.

5. Varsayılan Java Sürümünü Ayarlama:
Şimdi, update-alternatives komutunu kullanarak Oracle JDK’yı varsayılan olarak ayarlayabilirsiniz:

sudo update-alternatives --config java
    sudo update-alternatives --config javac

Listeden Oracle JDK sürümünü seçin.

6. JAVA_HOME Ortam Değişkenini Ayarlama:
JAVA_HOME değişkenini ~/.bashrc dosyanıza ekleyerek ayarlayın (önceki bölümde anlatıldığı gibi):

nano ~/.bashrc

Dosyaya şu satırları ekleyin:

export JAVA_HOME="/opt/oracle-java17"
    export PATH=$PATH:$JAVA_HOME/bin

Kaydedin, kapatın ve değişiklikleri uygulayın:

source ~/.bashrc

7. Kurulumu Doğrulama:

java -version
    echo $JAVA_HOME

PPA Kullanarak Kurulum

Bazı üçüncü taraf PPA’lar (Personal Package Archive), Oracle JDK’nın kurulumunu otomatikleştirmeyi amaçlar. Ancak, Oracle’ın lisanslama politikalarındaki değişiklikler nedeniyle bu PPA’lar zaman zaman güncel olmayabilir veya sorunlu çalışabilir. Bu yöntem, Oracle’ın web sitesinden manuel indirme adımlarını atlamanıza yardımcı olabilir, ancak ek bir risk faktörü taşır.

Örnek olarak, linuxuprising/java PPA’sını kullanarak Oracle Java 17’yi kurma adımları:

1. PPA’yı Ekleme:

sudo add-apt-repository ppa:linuxuprising/java
    sudo apt update

2. Oracle JDK’yı Kurma:
PPA’dan Oracle Java 17’yi kurmak için aşağıdaki komutu kullanın:

sudo apt install oracle-java17-installer

Kurulum sırasında Oracle lisans anlaşmasını kabul etmeniz istenecektir. Kabul etmezseniz kurulum devam etmez.

3. Varsayılan Java Sürümünü Ayarlama:
Kurulum tamamlandıktan sonra, Oracle JDK otomatik olarak varsayılan olarak ayarlanmamışsa, update-alternatives komutunu kullanabilirsiniz:

sudo update-alternatives --config java
    sudo update-alternatives --config javac

Listeden Oracle JDK sürümünü seçin.

4. JAVA_HOME Ortam Değişkenini Ayarlama:
PPA ile kurulan Oracle JDK’nın yolu genellikle /usr/lib/jvm/java-17-oracle gibi bir yerde bulunur. Bu yolu ~/.bashrc dosyanıza ekleyerek JAVA_HOME değişkenini ayarlayın.

nano ~/.bashrc

Dosyaya şu satırları ekleyin:

export JAVA_HOME="/usr/lib/jvm/java-17-oracle"
    export PATH=$PATH:$JAVA_HOME/bin

Kaydedin, kapatın ve değişiklikleri uygulayın:

source ~/.bashrc

5. Kurulumu Doğrulama:

java -version
    echo $JAVA_HOME

Önemli Not: Oracle JDK’nın PPA’lar aracılığıyla kurulumu, Oracle’ın lisanslama modelindeki değişiklikler nedeniyle zaman zaman sorunlu olabilir. Çoğu durumda, OpenJDK kullanmak daha güvenli ve sorunsuz bir seçenektir. Yalnızca belirli bir gereksinim nedeniyle Oracle JDK’ya ihtiyacınız varsa bu yöntemleri kullanmayı düşünün.

Java Uygulaması Derleme ve Çalıştırma

Java geliştirme ortamınızın düzgün çalıştığından emin olmak için basit bir “Merhaba Dünya” uygulaması derleyip çalıştırmak iyi bir testtir.

1. Java Kaynak Kodu Oluşturma:
Bir metin düzenleyici kullanarak HelloWorld.java adında bir dosya oluşturun ve içine aşağıdaki kodu yapıştırın:

// HelloWorld.java
    public class HelloWorld {
        public static void main(String[] args) {
            System.out.println("Merhaba, Java!");
        }
    }

2. Kodu Kaydetme:
Dosyayı istediğiniz bir dizine kaydedin, örneğin ~/java-test.

3. Uygulamayı Derleme:
Terminali açın ve HelloWorld.java dosyasını kaydettiğiniz dizine gidin. Ardından javac komutunu kullanarak kodu derleyin:

cd ~/java-test
    javac HelloWorld.java

Eğer herhangi bir hata mesajı almazsanız, derleme başarılı olmuştur. Bu işlem, HelloWorld.class adında bir bytecode dosyası oluşturacaktır.

4. Uygulamayı Çalıştırma:
Derlenmiş Java uygulamasını çalıştırmak için java komutunu kullanın:

java HelloWorld

Çıktı olarak Merhaba, Java! mesajını görmelisiniz.

Merhaba, Java!

Bu adımlar, Java derleyicinizin (javac) ve Java Sanal Makinesi’nin (java) doğru şekilde yapılandırıldığını ve çalıştığını doğrular.

Java Kaldırma

Artık bir Java sürümüne ihtiyacınız kalmadığında veya temiz bir kurulum yapmak istediğinizde, yüklü Java paketlerini sisteminizden kaldırabilirsiniz.

Belirli Bir Java Sürümünü Kaldırma

Eğer belirli bir OpenJDK sürümünü kaldırmak istiyorsanız, apt remove komutunu kullanın:

sudo apt remove openjdk-11-jdk

Veya

sudo apt remove openjdk-17-jdk

Veya

sudo apt remove openjdk-21-jdk

JRE sürümünü kaldırmak için:

sudo apt remove openjdk-11-jre

Tüm Java Paketlerini Kaldırma

Sisteminizdeki tüm varsayılan Java JDK ve JRE paketlerini kaldırmak için:

sudo apt remove --purge default-jdk default-jre openjdk-*

--purge bayrağı, paketlerle birlikte yapılandırma dosyalarını da kaldırır. openjdk-* ise openjdk- ile başlayan tüm paketleri hedef alır.

Oracle JDK’yı PPA aracılığıyla kurduysanız, onu da kaldırabilirsiniz:

sudo apt remove --purge oracle-java17-installer

Ardından PPA’yı sisteminizden kaldırın:

sudo add-apt-repository --remove ppa:linuxuprising/java
sudo apt update

Manuel olarak kurduğunuz Oracle JDK’yı kaldırmak için, /opt dizininden ilgili klasörü silmeniz yeterlidir:

sudo rm -rf /opt/oracle-java17

Ve update-alternatives girdilerini kaldırmayı unutmayın:

sudo update-alternatives --remove "java" "/opt/oracle-java17/bin/java"
sudo update-alternatives --remove "javac" "/opt/oracle-java17/bin/javac"

Diğer eklediğiniz tüm alternatifler için tekrarlayın

Bağımlılıkları Temizleme

Java paketlerini kaldırdıktan sonra, artık gerekli olmayan bağımlılıkları temizlemek için aşağıdaki komutu kullanın:

sudo apt autoremove

Bu komut, kaldırılan paketlerle birlikte yüklenen ve artık başka hiçbir paket tarafından kullanılmayan bağımlılıkları sisteminizden kaldırır.

Ortam Değişkenlerini Temizleme

JAVA_HOME ve PATH ayarlarını ~/.bashrc (veya ~/.profile, /etc/environment) dosyanızdan kaldırmayı unutmayın, aksi takdirde kaldırılan bir Java sürümüne işaret etmeye devam edebilirler.

Sorun Giderme ve Yaygın Hatalar

Java kurulumu sırasında veya sonrasında karşılaşabileceğiniz bazı yaygın sorunlar ve çözümleri aşağıdadır.

java: command not found veya javac: command not found

Bu hata, sisteminizin java veya javac komutlarını bulamadığı anlamına gelir.

* Çözüm 1: Kurulumu Kontrol Edin: Java’nın doğru bir şekilde yüklendiğinden emin olun. sudo apt install default-jdk komutunu tekrar çalıştırmayı deneyin.
* Çözüm 2: PATH Değişkenini Kontrol Edin: java ve javac komutlarının bulunduğu dizinin (genellikle $JAVA_HOME/bin) sisteminizin PATH değişkeninde olduğundan emin olun. echo $PATH komutunu çalıştırın ve çıktıda Java’nın bin dizininin olup olmadığını kontrol edin. Eğer yoksa, JAVA_HOME ve PATH ayarlarınızı ~/.bashrc dosyanızda doğru yaptığınızdan ve source ~/.bashrc ile uyguladığınızdan emin olun.
* Çözüm 3: update-alternatives Kontrolü: sudo update-alternatives --config java ve sudo update-alternatives --config javac komutlarını çalıştırarak geçerli bir Java sürümünün seçili olduğundan emin olun.

Yanlış Java Sürümünün Çalışması

Birden fazla Java sürümü yüklüyse ve java -version komutu beklediğiniz sürümü göstermiyorsa:

* Çözüm: sudo update-alternatives --config java ve sudo update-alternatives --config javac komutlarını kullanarak istediğiniz Java sürümünü varsayılan olarak ayarlayın. Ardından source ~/.bashrc ile ortam değişkenlerini yeniden yükleyin.

JAVA_HOME Ayarının Doğru Olmaması

Bazı uygulamalar JAVA_HOME değişkenini yanlış okuyorsa veya bulamıyorsa:

* Çözüm 1: Yol Doğruluğu: echo $JAVA_HOME çıktısının, yüklü Java JDK’sının kök dizinine (örneğin, /usr/lib/jvm/java-17-openjdk-amd64) doğru bir şekilde işaret ettiğinden emin olun. Yolda herhangi bir /bin kısmı olmamalıdır.
* Çözüm 2: Kalıcılık: JAVA_HOME ayarının ~/.bashrc veya /etc/environment gibi kalıcı bir dosyada yapıldığından ve oturum açıldığında veya source edildiğinde yüklendiğinden emin olun.

Lisans Sorunları (Oracle JDK için)

Oracle JDK kullanırken lisans uyarıları veya kısıtlamalarıyla karşılaşırsanız:

* Çözüm: Üretim ortamlarında veya ticari kullanımlarda Oracle JDK’nın lisanslama koşullarını dikkatlice inceleyin. Çoğu durumda, lisans sorunlarından kaçınmak için OpenJDK’ya geçmek daha iyi bir çözümdür.

Paket Yöneticisi Hataları (apt)

apt komutları çalışırken Unable to locate package veya E: Could not get lock gibi hatalar alıyorsanız:

* Çözüm 1: Yazım Hatası: Paket adını doğru yazdığınızdan emin olun.
* Çözüm 2: Depoları Güncelleme: sudo apt update komutunu çalıştırarak paket listesini güncelleyin.
* Çözüm 3: Kilit Dosyalarını Temizleme: Eğer E: Could not get lock hatası alıyorsanız, başka bir apt işlemi arka planda çalışıyor olabilir. sudo rm /var/lib/dpkg/lock-frontend ve sudo rm /var/lib/apt/lists/lock komutlarını kullanarak kilit dosyalarını temizleyebilir, ancak bunu sadece başka bir apt işleminin çalışmadığından eminseniz yapmalısınız.

Sonuç

Bu makalede, Ubuntu 20.04 işletim sistemi üzerinde Java’yı apt paket yöneticisi aracılığıyla nasıl kuracağınızı, yöneteceğinizi ve yapılandıracağınızı ayrıntılı olarak ele aldık. Java’nın platform bağımsızlığı ve geniş kullanım alanı, onu modern yazılım geliştirmede vazgeçilmez bir araç haline getirmektedir. Ubuntu’nun kararlılığı ve apt‘nin kullanım kolaylığı, Java geliştirme ortamınızı hızlı ve güvenilir bir şekilde kurmanız için ideal bir kombinasyon sunar.

Özetle, aşağıdaki temel adımları izledik:

* OpenJDK Tercihi: Açık kaynaklı ve ücretsiz olması nedeniyle çoğu senaryo için OpenJDK’nın tercih edilmesi gerektiğini vurguladık. LTS (Long Term Support) sürümlerinin (Java 11, 17, 21) kararlılık ve uzun süreli destek açısından önemini belirttik.
* Kurulum Kolaylığı: sudo apt install default-jdk veya belirli bir sürüm için sudo apt install openjdk-17-jdk gibi basit komutlarla Java’nın hızlıca kurulabileceğini gösterdik.
* Sürüm Yönetimi: Sisteminizde birden fazla Java sürümü yüklüyse, sudo update-alternatives --config java komutunun varsayılan Java sürümünü seçmek için kritik bir araç olduğunu öğrendik.
* Ortam Değişkenleri: Bazı uygulamalar için gerekli olan JAVA_HOME ortam değişkeninin nasıl ayarlanacağını ve PATH değişkenine Java’nın bin dizininin nasıl ekleneceğini detaylandırdık.
* Oracle JDK: İsteğe bağlı olarak Oracle JDK’nın manuel veya PPA aracılığıyla kurulum yöntemlerini ele aldık, ancak lisanslama karmaşıklıkları nedeniyle OpenJDK’nın genellikle daha iyi bir seçenek olduğunu belirttik.
* Temel Test: Basit bir “Merhaba Dünya” uygulaması derleyip çalıştırarak Java ortamının işlevselliğini doğruladık.
* Kaldırma ve Sorun Giderme: İhtiyaç duyulmayan Java sürümlerini kaldırma ve yaygın kurulum sorunlarını çözme yöntemlerini sunduk.

Artık Ubuntu 20.04 sisteminizde eksiksiz ve işlevsel bir Java geliştirme ortamına sahipsiniz. Bu bilgi birikimiyle, Java tabanlı uygulamalar geliştirmeye, mevcut projelerde çalışmaya veya Java ekosistemini keşfetmeye başlayabilirsiniz. Başarılı ve keyifli kodlamalar dileriz!

Yorumlar
İçeriği beğendiniz mi? Bir tartışma başlatın veya görüşlerinizi paylaşın.
Yorum Yaz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

E-posta Bülteni
Yazılım Topluluğuna Katılın
En son güncellemeleri, yaratıcı ipuçlarını ve özel kaynakları doğrudan e-posta kutunuza alın. Tasarım ve inovasyonun geleceğini birlikte keşfedelim.