{"id":35603,"date":"2025-12-01T16:40:43","date_gmt":"2025-12-01T13:40:43","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35603"},"modified":"2025-12-01T16:40:43","modified_gmt":"2025-12-01T13:40:43","slug":"ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/","title":{"rendered":"Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)<\/h2>\n<p>Java, g\u00fcn\u00fcm\u00fczde en yayg\u0131n kullan\u0131lan programlama dillerinden ve platformlar\u0131ndan biridir. Geni\u015f bir uygulama yelpazesine g\u00fc\u00e7 veren Java, mobil uygulamalardan (\u00f6zellikle Android), kurumsal sunucu uygulamalar\u0131na, b\u00fcy\u00fck veri teknolojilerine ve hatta bilimsel ara\u015ft\u0131rmalara kadar bir\u00e7ok alanda kritik bir rol oynamaktad\u0131r. Ubuntu gibi Linux tabanl\u0131 i\u015fletim sistemlerinde Java kurulumu, hem geli\u015ftiriciler hem de Java tabanl\u0131 uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmak isteyen son kullan\u0131c\u0131lar i\u00e7in temel bir ad\u0131md\u0131r. Bu makalede, Ubuntu&#8217;da <code>apt<\/code> paket y\u00f6neticisi kullanarak Java Runtime Environment (JRE) ve Java Development Kit (JDK) kurulumunu detayl\u0131 bir \u015fekilde ele alaca\u011f\u0131z.<\/p>\n<p><code>apt<\/code> (Advanced Package Tool), Debian tabanl\u0131 sistemler i\u00e7in g\u00fc\u00e7l\u00fc ve kullan\u0131m\u0131 kolay bir komut sat\u0131r\u0131 arac\u0131d\u0131r. Yaz\u0131l\u0131m paketlerini arama, y\u00fckleme, y\u00fckseltme ve kald\u0131rma i\u015flemlerini basitle\u015ftirir. Ubuntu&#8217;da Java kurulumu i\u00e7in <code>apt<\/code> kullanmak, ba\u011f\u0131ml\u0131l\u0131klar\u0131n otomatik olarak \u00e7\u00f6z\u00fclmesi, g\u00fcvenlik g\u00fcncellemelerinin kolayca uygulanmas\u0131 ve genel sistem kararl\u0131l\u0131\u011f\u0131n\u0131n korunmas\u0131 gibi bir\u00e7ok avantaj sunar. Bu rehber, OpenJDK&#8217;n\u0131n \u00e7e\u015fitli s\u00fcr\u00fcmlerini kurmaktan, Oracle JDK&#8217;y\u0131 \u00f6zel depolar arac\u0131l\u0131\u011f\u0131yla y\u00fcklemeye ve birden fazla Java s\u00fcr\u00fcm\u00fc aras\u0131nda ge\u00e7i\u015f yapmaya kadar t\u00fcm \u00f6nemli ad\u0131mlar\u0131 kapsamaktad\u0131r.<\/p>\n<h3>Java&#8217;ya Giri\u015f ve Temel Kavramlar<\/h3>\n<p>Java d\u00fcnyas\u0131na ad\u0131m atmadan \u00f6nce, temel bile\u015fenlerini anlamak \u00f6nemlidir. Java ekosistemi, programlama dilinin kendisi, sanal makine ve \u00e7e\u015fitli geli\u015ftirme ara\u00e7lar\u0131ndan olu\u015fur.<\/p>\n<h4>Java Nedir?<\/h4>\n<p>Java, Sun Microsystems (\u015fimdiki Oracle) taraf\u0131ndan geli\u015ftirilmi\u015f, nesne y\u00f6nelimli, s\u0131n\u0131f tabanl\u0131 ve e\u015f zamanl\u0131 bir programlama dilidir. En belirgin \u00f6zelli\u011fi &#8220;Write Once, Run Anywhere&#8221; (Bir Kere Yaz, Her Yerde \u00c7al\u0131\u015ft\u0131r) felsefesidir. Bu, Java kodunun derlendikten sonra Java Sanal Makinesi (JVM) olan herhangi bir platformda \u00e7al\u0131\u015fabilece\u011fi anlam\u0131na gelir. Bu platform ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131, Java&#8217;y\u0131 geli\u015ftiriciler i\u00e7in son derece \u00e7ekici k\u0131lar.<\/p>\n<h4>JRE (Java Runtime Environment) Nedir?<\/h4>\n<p>JRE, Java uygulamalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in gerekli olan bir dizi bile\u015fenin toplam\u0131d\u0131r. Bir Java uygulamas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak isteyen son kullan\u0131c\u0131lar i\u00e7in JRE yeterlidir. \u0130\u00e7eri\u011finde \u015funlar bulunur:<br \/>\n*   <strong>Java Sanal Makinesi (JVM):<\/strong> Java bytecode&#8217;unu yorumlayan ve \u00e7al\u0131\u015ft\u0131ran soyut makinedir.<br \/>\n*   <strong>Java S\u0131n\u0131f K\u00fct\u00fcphaneleri:<\/strong> Temel Java API&#8217;lerini (\u00f6rne\u011fin, <code>java.lang<\/code>, <code>java.io<\/code>, <code>java.util<\/code>) i\u00e7eren \u00f6nceden yaz\u0131lm\u0131\u015f kod koleksiyonlar\u0131d\u0131r.<br \/>\nJRE, bir Java uygulamas\u0131n\u0131n derlenmi\u015f kodunu (bytecode) al\u0131p onu \u00e7al\u0131\u015ft\u0131rmak i\u00e7in gereken t\u00fcm altyap\u0131y\u0131 sa\u011flar. Ancak, yeni Java uygulamalar\u0131 geli\u015ftirmek i\u00e7in yeterli de\u011fildir; bunun i\u00e7in JDK&#8217;ya ihtiya\u00e7 duyulur.<\/p>\n<h4>JDK (Java Development Kit) Nedir?<\/h4>\n<p>JDK, Java uygulamalar\u0131 geli\u015ftirmek i\u00e7in kullan\u0131lan bir yaz\u0131l\u0131m geli\u015ftirme ortam\u0131d\u0131r. Hem geli\u015ftiriciler hem de sunucularda Java tabanl\u0131 yaz\u0131l\u0131mlar\u0131 derlemesi veya \u00e7al\u0131\u015ft\u0131rmas\u0131 gereken sistem y\u00f6neticileri i\u00e7in gereklidir. JDK, JRE&#8217;nin t\u00fcm bile\u015fenlerini i\u00e7erir ve bunlara ek olarak \u015funlar\u0131 sunar:<br \/>\n*   <strong>javac (Java Compiler):<\/strong> Java kaynak kodunu (<code>.java<\/code> dosyalar\u0131) Java bytecode&#8217;una (<code>.class<\/code> dosyalar\u0131) derleyen ara\u00e7t\u0131r.<br \/>\n*   <strong>java (Java Launcher):<\/strong> JRE&#8217;de de bulunan bu ara\u00e7, bytecode&#8217;u JVM \u00fczerinde \u00e7al\u0131\u015ft\u0131r\u0131r.<br \/>\n*   <strong>jdb (Java Debugger):<\/strong> Java uygulamalar\u0131nda hata ay\u0131klamak i\u00e7in kullan\u0131lan bir ara\u00e7t\u0131r.<br \/>\n*   <strong>jar (Java Archiver):<\/strong> Java s\u0131n\u0131flar\u0131n\u0131 ve ilgili meta verileri tek bir JAR (Java ARchive) dosyas\u0131nda paketlemek i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong>javadoc (Java Documentation Generator):<\/strong> Java kaynak kodundaki \u00f6zel yorumlardan HTML format\u0131nda API belgeleri olu\u015fturan ara\u00e7t\u0131r.<br \/>\nJDK, bir Java projesinin t\u00fcm ya\u015fam d\u00f6ng\u00fcs\u00fc boyunca (kodlama, derleme, hata ay\u0131klama, paketleme) ihtiya\u00e7 duyulan t\u00fcm ara\u00e7lar\u0131 bir araya getirir.<\/p>\n<h4>Neden Apt Kullanarak Kurulum Yapmal\u0131y\u0131z?<\/h4>\n<p>Ubuntu&#8217;da Java kurulumu i\u00e7in <code>apt<\/code> kullanman\u0131n bir\u00e7ok \u00f6nemli avantaj\u0131 vard\u0131r:<br \/>\n*   <strong>Kolayl\u0131k ve H\u0131z:<\/strong> Tek bir komutla kurulumu tamamlayabilir, ba\u011f\u0131ml\u0131l\u0131klar\u0131 otomatik olarak \u00e7\u00f6zebilirsiniz.<br \/>\n*   <strong>G\u00fcvenlik:<\/strong> Ubuntu&#8217;nun resmi depolar\u0131ndan veya g\u00fcvenilir PPA&#8217;lardan y\u00fcklenen paketler genellikle g\u00fcvenlik kontrollerinden ge\u00e7irilmi\u015ftir.<br \/>\n*   <strong>Ba\u011f\u0131ml\u0131l\u0131k Y\u00f6netimi:<\/strong> <code>apt<\/code>, Java&#8217;n\u0131n do\u011fru \u00e7al\u0131\u015fmas\u0131 i\u00e7in gereken t\u00fcm ek k\u00fct\u00fcphaneleri ve bile\u015fenleri otomatik olarak y\u00fckler.<br \/>\n*   <strong>G\u00fcncellemeler:<\/strong> Sistem g\u00fcncellemeleriyle birlikte Java da kolayca g\u00fcncellenebilir, bu da g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131n h\u0131zla kapat\u0131lmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong>\u00c7ak\u0131\u015fma \u00d6nleme:<\/strong> <code>apt<\/code>, sisteminizde zaten y\u00fckl\u00fc olan di\u011fer yaz\u0131l\u0131mlarla \u00e7ak\u0131\u015fmalar\u0131 en aza indirmeye yard\u0131mc\u0131 olur.<\/p>\n<h3>Kuruluma Ba\u015flamadan \u00d6nce Haz\u0131rl\u0131klar<\/h3>\n<p>Java kurulumuna ge\u00e7meden \u00f6nce sisteminizin g\u00fcncel oldu\u011fundan ve potansiyel \u00e7ak\u0131\u015fmalar\u0131 \u00f6nlemek i\u00e7in mevcut Java s\u00fcr\u00fcmlerini kontrol etti\u011finizden emin olman\u0131z \u00f6nemlidir.<\/p>\n<h4>Sistem G\u00fcncelleme<\/h4>\n<p>Herhangi bir yaz\u0131l\u0131m kurulumundan \u00f6nce sisteminizin paket listelerini g\u00fcncel tutmak ve mevcut paketleri y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, en son g\u00fcvenlik yamalar\u0131n\u0131 alman\u0131z\u0131 ve yaz\u0131l\u0131m ba\u011f\u0131ml\u0131l\u0131klar\u0131n\u0131n do\u011fru \u015fekilde \u00e7\u00f6z\u00fclmesini sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Paket depolar\u0131ndaki mevcut paket listelerini g\u00fcnceller.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Y\u00fckl\u00fc paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm sorulara otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 verilmesini sa\u011flar.<\/p>\n<h4>Mevcut Java S\u00fcr\u00fcmlerini Kontrol Etme (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>Sisteminizde daha \u00f6nce Java kurulu olup olmad\u0131\u011f\u0131n\u0131 veya hangi s\u00fcr\u00fcm\u00fcn etkin oldu\u011funu kontrol etmek isteyebilirsiniz.<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<p>*   <code>java -version<\/code>: Y\u00fckl\u00fc JRE s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6sterir. E\u011fer Java kurulu de\u011filse veya PATH&#8217;te bulunmuyorsa &#8220;command not found&#8221; hatas\u0131 al\u0131rs\u0131n\u0131z.<br \/>\n*   <code>javac -version<\/code>: Y\u00fckl\u00fc JDK derleyici s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6sterir. E\u011fer JDK kurulu de\u011filse veya PATH&#8217;te bulunmuyorsa benzer bir hata al\u0131rs\u0131n\u0131z.<br \/>\nAyr\u0131ca, <code>which<\/code> komutunu kullanarak <code>java<\/code> ve <code>javac<\/code> komutlar\u0131n\u0131n hangi yollardan \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6rebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">which java\nwhich javac<\/code><\/pre>\n<p>Bu komutlar, <code>\/usr\/bin\/java<\/code> gibi bir \u00e7\u0131kt\u0131 verecektir. Bu genellikle <code>update-alternatives<\/code> taraf\u0131ndan y\u00f6netilen sembolik bir ba\u011flant\u0131d\u0131r.<\/p>\n<h4>Gereksiz Java S\u00fcr\u00fcmlerini Kald\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>E\u011fer sisteminizde birden fazla Java s\u00fcr\u00fcm\u00fc kuruluysa veya eski, gereksiz s\u00fcr\u00fcmleri temizlemek istiyorsan\u0131z, bunlar\u0131 kald\u0131rabilirsiniz. Bu, \u00f6zellikle yeni bir kurulum yapmadan \u00f6nce temiz bir ba\u015flang\u0131\u00e7 yapmak isteyenler i\u00e7in faydal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo apt purge openjdk-*\nsudo apt autoremove -y<\/code><\/pre>\n<p><em>   <code>sudo apt purge openjdk-<\/em><\/code>: Sistemdeki t\u00fcm OpenJDK ile ilgili paketleri (yap\u0131land\u0131rma dosyalar\u0131 dahil) kald\u0131r\u0131r.<br \/>\n*   <code>sudo apt autoremove -y<\/code>: Art\u0131k ihtiya\u00e7 duyulmayan ba\u011f\u0131ml\u0131l\u0131k paketlerini kald\u0131r\u0131r.<br \/>\n<strong>Dikkat:<\/strong> Bu komutu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce, kald\u0131rd\u0131\u011f\u0131n\u0131z Java s\u00fcr\u00fcm\u00fcne ba\u011f\u0131ml\u0131 ba\u015fka uygulamalar\u0131n\u0131z olmad\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>OpenJDK Kurulumu (\u00d6nerilen Y\u00f6ntem)<\/h3>\n<p>OpenJDK, Oracle JDK&#8217;n\u0131n a\u00e7\u0131k kaynakl\u0131 bir uygulamas\u0131d\u0131r ve \u00e7o\u011fu kullan\u0131m senaryosu i\u00e7in tamamen yeterlidir. Ubuntu depolar\u0131nda kolayca bulunur ve genellikle tercih edilen Java s\u00fcr\u00fcm\u00fcd\u00fcr.<\/p>\n<h4>Neden OpenJDK?<\/h4>\n<p>*   <strong>A\u00e7\u0131k Kaynak ve \u00dccretsiz:<\/strong> Lisans k\u0131s\u0131tlamalar\u0131 olmadan \u00f6zg\u00fcrce kullan\u0131labilir ve da\u011f\u0131t\u0131labilir.<br \/>\n*   <strong>Ubuntu Depolar\u0131nda Mevcut:<\/strong> Kurulumu ve g\u00fcncellemeleri <code>apt<\/code> ile son derece basittir.<br \/>\n*   <strong>Oracle JDK&#8217;ya E\u015fde\u011fer:<\/strong> \u00c7o\u011fu durumda, OpenJDK ile Oracle JDK aras\u0131nda performans veya \u00f6zellik a\u00e7\u0131s\u0131ndan fark hissedilmez.<br \/>\n*   <strong>Topluluk Deste\u011fi:<\/strong> Geni\u015f bir geli\u015ftirici toplulu\u011fu taraf\u0131ndan desteklenir.<\/p>\n<h4>Varsay\u0131lan JRE Kurulumu<\/h4>\n<p>Sadece Java uygulamalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak isteyen son kullan\u0131c\u0131lar i\u00e7in varsay\u0131lan JRE&#8217;yi kurmak yeterlidir. Bu genellikle Ubuntu&#8217;nun o anki LTS (Uzun S\u00fcreli Destek) s\u00fcr\u00fcm\u00fc i\u00e7in \u00f6nerilen OpenJDK JRE s\u00fcr\u00fcm\u00fcn\u00fc kurar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install default-jre -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Java&#8217;n\u0131n do\u011fru \u015fekilde kuruldu\u011funu do\u011frulamak i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">java -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, kurulan OpenJDK JRE s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir (\u00f6rne\u011fin, <code>openjdk version \"11.0.x\"<\/code> veya <code>openjdk version \"17.0.x\"<\/code>).<\/p>\n<h4>Varsay\u0131lan JDK Kurulumu<\/h4>\n<p>Java uygulamalar\u0131 geli\u015ftirmek veya derlemek isteyenler i\u00e7in varsay\u0131lan JDK&#8217;y\u0131 kurmak gerekir. Bu da yine Ubuntu&#8217;nun o anki LTS s\u00fcr\u00fcm\u00fc i\u00e7in \u00f6nerilen OpenJDK JDK s\u00fcr\u00fcm\u00fcn\u00fc kurar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install default-jdk -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, hem JRE hem de JDK&#8217;n\u0131n do\u011fru \u015fekilde kuruldu\u011funu do\u011frulamak i\u00e7in s\u00fcr\u00fcmlerini kontrol edin:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<p>Her iki komut da ayn\u0131 OpenJDK s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6stermelidir.<\/p>\n<h4>Belirli Bir OpenJDK S\u00fcr\u00fcm\u00fcn\u00fc Kurma<\/h4>\n<p>Baz\u0131 durumlarda, belirli bir Java s\u00fcr\u00fcm\u00fcne (\u00f6rne\u011fin, Java 8, Java 11, Java 17 veya Java 21 gibi LTS s\u00fcr\u00fcmleri) ihtiyac\u0131n\u0131z olabilir. Bu, eski uygulamalarla uyumluluk veya belirli bir geli\u015ftirme ortam\u0131n\u0131n gereksinimleri nedeniyle olabilir.<\/p>\n<h5>Mevcut S\u00fcr\u00fcmleri Listeleme<\/h5>\n<p>Ubuntu depolar\u0131nda hangi OpenJDK s\u00fcr\u00fcmlerinin mevcut oldu\u011funu g\u00f6rmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">apt search openjdk | grep openjdk<\/code><\/pre>\n<p>Bu komut, <code>openjdk-8-jdk<\/code>, <code>openjdk-11-jdk<\/code>, <code>openjdk-17-jdk<\/code>, <code>openjdk-21-jdk<\/code> gibi bir\u00e7ok paketi listeleyecektir. \u0130htiyac\u0131n\u0131z olan s\u00fcr\u00fcm\u00fc belirledikten sonra, ilgili paket ad\u0131n\u0131 kullanarak kurulum yapabilirsiniz.<\/p>\n<h5>OpenJDK 11 Kurulumu (LTS)<\/h5>\n<p>Java 11, uzun s\u00fcreli destek (LTS) sa\u011flayan pop\u00fcler bir s\u00fcr\u00fcmd\u00fcr.<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-11-jre -y\nsudo apt install openjdk-11-jdk -y<\/code><\/pre>\n<p>Kurulumu do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<p>E\u011fer <code>java -version<\/code> hala farkl\u0131 bir s\u00fcr\u00fcm g\u00f6steriyorsa, endi\u015felenmeyin. Birden fazla Java s\u00fcr\u00fcm\u00fc aras\u0131nda ge\u00e7i\u015f yapmay\u0131 daha sonra ele alaca\u011f\u0131z.<\/p>\n<h5>OpenJDK 17 Kurulumu (LTS)<\/h5>\n<p>Java 17, daha yeni bir LTS s\u00fcr\u00fcm\u00fcd\u00fcr ve bir\u00e7ok modern Java projesinde tercih edilir.<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-17-jre -y\nsudo apt install openjdk-17-jdk -y<\/code><\/pre>\n<p>Kurulumu do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<h5>OpenJDK 21 Kurulumu (En Yeni LTS)<\/h5>\n<p>Java 21, en yeni uzun s\u00fcreli destek (LTS) s\u00fcr\u00fcm\u00fcd\u00fcr ve en g\u00fcncel \u00f6zellikler ile performans iyile\u015ftirmelerini sunar.<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-21-jre -y\nsudo apt install openjdk-21-jdk -y<\/code><\/pre>\n<p>Kurulumu do\u011frulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<h3>Java S\u00fcr\u00fcmleri Aras\u0131nda Ge\u00e7i\u015f Yapma<\/h3>\n<p>Sisteminizde birden fazla Java s\u00fcr\u00fcm\u00fc kuruluysa, varsay\u0131lan olarak hangi s\u00fcr\u00fcm\u00fcn kullan\u0131laca\u011f\u0131n\u0131 belirlemek isteyebilirsiniz. Ubuntu, bu ama\u00e7la <code>update-alternatives<\/code> mekanizmas\u0131n\u0131 kullan\u0131r.<\/p>\n<h4>update-alternatives Komutunu Kullanma<\/h4>\n<p><code>update-alternatives<\/code> komutu, sistemdeki ayn\u0131 i\u015flevi g\u00f6ren farkl\u0131 programlar aras\u0131nda ge\u00e7i\u015f yapman\u0131z\u0131 sa\u011flar. Java i\u00e7in <code>java<\/code> ve <code>javac<\/code> komutlar\u0131 i\u00e7in bunu kullanabilirsiniz.<\/p>\n<p><code>java<\/code> komutu i\u00e7in varsay\u0131lan s\u00fcr\u00fcm\u00fc ayarlamak:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java<\/code><\/pre>\n<p>Bu komutu \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda, sisteminizde y\u00fckl\u00fc olan t\u00fcm Java \u00e7al\u0131\u015fma ortamlar\u0131n\u0131n bir listesi kar\u015f\u0131n\u0131za \u00e7\u0131kacakt\u0131r. Her se\u00e7ene\u011fin \u00f6n\u00fcnde bir say\u0131 bulunur. \u0130stedi\u011finiz Java s\u00fcr\u00fcm\u00fcn\u00fcn numaras\u0131n\u0131 girip Enter tu\u015funa basarak varsay\u0131lan\u0131 ayarlayabilirsiniz.<br \/>\n\u00d6rnek \u00e7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">There are 3 choices for the alternative java (providing \/usr\/bin\/java).\n\n  Selection    Path                                            Priority   Status\n------------------------------------------------------------\n* 0            \/usr\/lib\/jvm\/java-17-openjdk-amd64\/bin\/java      1711      auto mode\n  1            \/usr\/lib\/jvm\/java-11-openjdk-amd64\/bin\/java      1111      manual mode\n  2            \/usr\/lib\/jvm\/java-21-openjdk-amd64\/bin\/java      2111      manual mode\n\nPress <enter> to keep the current choice[*], or type selection number:<\/code><\/pre>\n<p>Burada <code>0<\/code> otomatik modu, <code>*<\/code> ise \u015fu anda se\u00e7ili olan\u0131 g\u00f6sterir. \u00d6rne\u011fin, Java 11&#8217;i varsay\u0131lan yapmak i\u00e7in <code>1<\/code> yaz\u0131p Enter tu\u015funa basman\u0131z yeterlidir.<\/p>\n<p>Ayn\u0131 i\u015flemi <code>javac<\/code> (Java derleyicisi) i\u00e7in de yapman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config javac<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, <code>java -version<\/code> ve <code>javac -version<\/code> komutlar\u0131n\u0131 tekrar \u00e7al\u0131\u015ft\u0131rarak se\u00e7ti\u011finiz s\u00fcr\u00fcm\u00fcn etkin oldu\u011funu do\u011frulayabilirsiniz.<\/p>\n<h4>PATH Ortam De\u011fi\u015fkenini Ayarlama (Geli\u015fmi\u015f Kullan\u0131m)<\/h4>\n<p>Baz\u0131 Java tabanl\u0131 uygulamalar veya geli\u015ftirme ortamlar\u0131, <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin ayarlanmas\u0131n\u0131 bekleyebilir. Bu de\u011fi\u015fken, kullan\u0131lan Java JDK kurulumunun k\u00f6k dizinini g\u00f6sterir. <code>update-alternatives<\/code> \u00e7o\u011fu zaman yeterli olsa da, <code>JAVA_HOME<\/code>&#8216;u manuel olarak ayarlamak bazen gerekli olabilir.<\/p>\n<p>\u00d6ncelikle, \u015fu anda kullan\u0131lan Java s\u00fcr\u00fcm\u00fcn\u00fcn yolunu bulun:<\/p>\n<pre><code class=\"language-bash\">readlink -f $(which java)<\/code><\/pre>\n<p>Bu komut, <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64\/bin\/java<\/code> gibi bir \u00e7\u0131kt\u0131 verecektir. Buradaki <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code> k\u0131sm\u0131 sizin <code>JAVA_HOME<\/code> de\u011ferinizdir.<\/p>\n<p>\u015eimdi bu de\u011feri <code>.bashrc<\/code> veya <code>.profile<\/code> dosyan\u0131za ekleyerek kal\u0131c\u0131 hale getirebilirsiniz. <code>.bashrc<\/code> genellikle interaktif shell oturumlar\u0131 i\u00e7in, <code>.profile<\/code> ise t\u00fcm oturumlar i\u00e7in kullan\u0131l\u0131r. \u00c7o\u011fu durumda <code>.bashrc<\/code> yeterlidir.<\/p>\n<pre><code class=\"language-bash\">nano ~\/.bashrc<\/code><\/pre>\n<p>Dosyan\u0131n en sonuna a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin (kendi Java s\u00fcr\u00fcm\u00fcn\u00fcz\u00fcn yolunu do\u011fru \u015fekilde ayarlay\u0131n):<\/p>\n<pre><code class=\"language-bash\"># JAVA_HOME ayar\u0131\nexport JAVA_HOME=\/usr\/lib\/jvm\/java-17-openjdk-amd64 # Buray\u0131 kendi Java s\u00fcr\u00fcm yolunuza g\u00f6re de\u011fi\u015ftirin\nexport PATH=$JAVA_HOME\/bin:$PATH<\/code><\/pre>\n<p>Kaydedip \u00e7\u0131kt\u0131ktan sonra (Ctrl+O, Enter, Ctrl+X), de\u011fi\u015fikliklerin etkili olmas\u0131 i\u00e7in terminali yeniden ba\u015flat\u0131n veya a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>\u015eimdi <code>JAVA_HOME<\/code> de\u011fi\u015fkeninin ayarlan\u0131p ayarlanmad\u0131\u011f\u0131n\u0131 kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">echo $JAVA_HOME<\/code><\/pre>\n<p>Do\u011fru yolu g\u00f6stermesi gerekir. Bu, \u00f6zellikle Maven, Gradle gibi derleme ara\u00e7lar\u0131 veya baz\u0131 IDE&#8217;ler i\u00e7in \u00f6nemlidir.<\/p>\n<h3>Oracle JDK Kurulumu (Apt ile &#8211; Geli\u015fmi\u015f Y\u00f6ntem)<\/h3>\n<p>OpenJDK, \u00e7o\u011fu kullan\u0131m i\u00e7in yeterli olsa da, baz\u0131 kullan\u0131c\u0131lar veya belirli projeler Oracle&#8217;\u0131n resmi JDK&#8217;s\u0131n\u0131 tercih edebilir. Ancak, Oracle&#8217;\u0131n lisanslama politikalar\u0131 de\u011fi\u015fti\u011fi i\u00e7in, Oracle JDK&#8217;y\u0131 \u00fccretsiz olarak \u00fcretim ortam\u0131nda kullanmak belirli k\u0131s\u0131tlamalara tabidir. Bu nedenle, genellikle OpenJDK \u00f6nerilir. E\u011fer yine de Oracle JDK&#8217;y\u0131 kurman\u0131z gerekiyorsa, bunu do\u011frudan <code>apt<\/code> depolar\u0131nda bulamazs\u0131n\u0131z. \u00dc\u00e7\u00fcnc\u00fc taraf bir PPA (Personal Package Archive) kullanman\u0131z gerekecektir.<\/p>\n<h4>Neden Oracle JDK?<\/h4>\n<p>*   <strong>Resmi Referans Uygulama:<\/strong> Oracle taraf\u0131ndan do\u011frudan geli\u015ftirilen ve desteklenen orijinal Java uygulamas\u0131d\u0131r.<br \/>\n*   <strong>Performans ve \u00d6zellikler:<\/strong> Baz\u0131 durumlarda Oracle JDK&#8217;n\u0131n daha iyi performans veya belirli tescilli \u00f6zellikler sundu\u011funa inan\u0131labilir (ancak OpenJDK ile farklar minimaldir).<br \/>\n*   <strong>Spesifik Proje Gereksinimleri:<\/strong> Baz\u0131 eski veya \u00f6zel projeler, Oracle JDK&#8217;y\u0131 zorunlu k\u0131labilir.<\/p>\n<h4>Oracle JDK&#8217;y\u0131 Depodan Kurma<\/h4>\n<p>Oracle, kendi resmi PPA&#8217;s\u0131n\u0131 sa\u011flamamaktad\u0131r. Bu nedenle, Oracle JDK&#8217;y\u0131 <code>apt<\/code> ile kurmak i\u00e7in genellikle topluluk taraf\u0131ndan s\u00fcrd\u00fcr\u00fclen g\u00fcvenilir bir PPA kullanmak gerekir. <code>linuxuprising\/java<\/code> PPA&#8217;s\u0131 bu konuda pop\u00fcler ve g\u00fcncel bir se\u00e7enektir.<\/p>\n<p><strong>Uyar\u0131:<\/strong> \u00dc\u00e7\u00fcnc\u00fc taraf PPA&#8217;lar, resmi Ubuntu depolar\u0131 kadar g\u00fcvenli olmayabilir. Yaln\u0131zca g\u00fcvendi\u011finiz kaynaklardan PPA eklemelisiniz.<\/p>\n<p>1.  <strong>PPA&#8217;y\u0131 Ekleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo add-apt-repository ppa:linuxuprising\/java -y<\/code><\/pre>\n<p>    Bu komut, PPA&#8217;y\u0131 sisteminizin yaz\u0131l\u0131m kaynaklar\u0131na ekler.<\/p>\n<p>2.  <strong>Paket Listelerini G\u00fcncelleyin:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo apt update<\/code><\/pre>\n<p>    Yeni eklenen PPA&#8217;daki paket bilgilerini almak i\u00e7in bu ad\u0131m gereklidir.<\/p>\n<p>3.  <strong>Oracle JDK&#8217;y\u0131 Kurun:<\/strong><br \/>\n    PPA, \u00e7e\u015fitli Oracle JDK s\u00fcr\u00fcmlerini sunar. \u00d6rne\u011fin, Oracle Java 17&#8217;yi kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt install oracle-java17-installer -y<\/code><\/pre>\n<p>    Kurulum s\u0131ras\u0131nda, Oracle&#8217;\u0131n lisans anla\u015fmas\u0131n\u0131 (Oracle Binary Code License Agreement for Java SE) kabul etmeniz istenecektir. Kabul etmezseniz kurulum devam etmez.<br \/>\n    Di\u011fer s\u00fcr\u00fcmler i\u00e7in (\u00f6rne\u011fin Oracle Java 8, 11, 21), ilgili paket ad\u0131n\u0131 kullanabilirsiniz (<code>oracle-java8-installer<\/code>, <code>oracle-java11-installer<\/code>, <code>oracle-java21-installer<\/code>).<\/p>\n<p>4.  <strong>Varsay\u0131lan Java S\u00fcr\u00fcm\u00fcn\u00fc Ayarlay\u0131n (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong><br \/>\n    E\u011fer Oracle JDK&#8217;y\u0131 varsay\u0131lan yapmak isterseniz, ek bir paket kurman\u0131z gerekebilir:<\/p>\n<pre><code class=\"language-bash\">sudo apt install oracle-java17-set-default -y<\/code><\/pre>\n<p>    Bu paket, <code>update-alternatives<\/code> arac\u0131l\u0131\u011f\u0131yla Oracle Java 17&#8217;yi varsay\u0131lan olarak ayarlar.<\/p>\n<p>5.  <strong>Kurulumu Do\u011frulay\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">java -version\n    javac -version<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131da Oracle Corporation&#8217;\u0131n Java s\u00fcr\u00fcm\u00fcn\u00fc g\u00f6rmelisiniz.<\/p>\n<h4>PPA&#8217;y\u0131 Kald\u0131rma (\u0130ste\u011fe Ba\u011fl\u0131)<\/h4>\n<p>E\u011fer gelecekte bu PPA&#8217;ya ihtiyac\u0131n\u0131z kalmazsa veya Oracle JDK&#8217;y\u0131 kald\u0131rmak isterseniz, PPA&#8217;y\u0131 sisteminizden kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo add-apt-repository --remove ppa:linuxuprising\/java\nsudo apt update<\/code><\/pre>\n<p>Ard\u0131ndan, Oracle JDK paketini de kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt purge oracle-java17-installer oracle-java17-set-default -y\nsudo apt autoremove -y<\/code><\/pre>\n<h3>Java Uygulamas\u0131 \u00c7al\u0131\u015ft\u0131rma ve Geli\u015ftirme \u00d6rnekleri<\/h3>\n<p>Java kurulumunuzun ba\u015far\u0131l\u0131 oldu\u011funu ve d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 test etmek i\u00e7in basit bir Java program\u0131 yaz\u0131p derleyelim ve \u00e7al\u0131\u015ft\u0131ral\u0131m.<\/p>\n<h4>Basit Bir Java Program\u0131 Yazma ve Derleme<\/h4>\n<p>1.  <strong>Bir metin d\u00fczenleyici a\u00e7\u0131n<\/strong> (\u00f6rne\u011fin <code>nano<\/code> veya <code>gedit<\/code>):<\/p>\n<pre><code class=\"language-bash\">nano HelloWorld.java<\/code><\/pre>\n<p>2.  <strong>A\u015fa\u011f\u0131daki kodu dosyaya yap\u0131\u015ft\u0131r\u0131n:<\/strong><\/p>\n<pre><code class=\"language-java\">public class HelloWorld {\n        public static void main(String[] args) {\n            System.out.println(\"Merhaba, Java dunyasi!\");\n        }\n    }<\/code><\/pre>\n<p>    Kaydedip \u00e7\u0131k\u0131n (Ctrl+O, Enter, Ctrl+X).<\/p>\n<p>3.  <strong>Program\u0131 Derleyin:<\/strong><br \/>\n    <code>javac<\/code> komutunu kullanarak Java kaynak kodunu bytecode&#8217;a derleyin:<\/p>\n<pre><code class=\"language-bash\">javac HelloWorld.java<\/code><\/pre>\n<p>    E\u011fer herhangi bir hata almazsan\u0131z, ayn\u0131 dizinde <code>HelloWorld.class<\/code> ad\u0131nda bir dosya olu\u015fturulmu\u015f demektir. Bu dosya, Java Sanal Makinesi (JVM) taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131lacak bytecode&#8217;u i\u00e7erir.<\/p>\n<p>4.  <strong>Program\u0131 \u00c7al\u0131\u015ft\u0131r\u0131n:<\/strong><br \/>\n    <code>java<\/code> komutunu kullanarak derlenmi\u015f bytecode&#8217;u \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">java HelloWorld<\/code><\/pre>\n<p>    Ekranda &#8220;Merhaba, Java dunyasi!&#8221; \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmelisiniz. Bu, Java JRE ve JDK&#8217;n\u0131z\u0131n do\u011fru \u015fekilde \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir.<\/p>\n<h4>JAR Dosyas\u0131 \u00c7al\u0131\u015ft\u0131rma<\/h4>\n<p>Java uygulamalar\u0131 genellikle JAR (Java ARchive) dosyalar\u0131 olarak da\u011f\u0131t\u0131l\u0131r. Bu dosyalar, derlenmi\u015f s\u0131n\u0131f dosyalar\u0131n\u0131, uygulama kaynaklar\u0131n\u0131 ve bir manifest dosyas\u0131n\u0131 i\u00e7erir. Bir JAR dosyas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak olduk\u00e7a basittir:<\/p>\n<pre><code class=\"language-bash\">java -jar myapp.jar<\/code><\/pre>\n<p>Burada <code>myapp.jar<\/code>, \u00e7al\u0131\u015ft\u0131rmak istedi\u011finiz JAR dosyas\u0131n\u0131n ad\u0131d\u0131r. Bu komut, belirtilen JAR dosyas\u0131ndaki <code>Main-Class<\/code> manifest giri\u015finde tan\u0131mlanan ana s\u0131n\u0131f\u0131 bulur ve \u00e7al\u0131\u015ft\u0131r\u0131r.<\/p>\n<h3>S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Java kurulumu s\u0131ras\u0131nda veya sonras\u0131nda baz\u0131 yayg\u0131n sorunlarla kar\u015f\u0131la\u015fabilirsiniz. \u0130\u015fte bunlardan baz\u0131lar\u0131 ve \u00e7\u00f6z\u00fcmleri:<\/p>\n<h4>&#8220;Command &#8216;java&#8217; not found&#8221; Hatas\u0131<\/h4>\n<p>Bu hata, <code>java<\/code> komutunun sisteminizin PATH ortam de\u011fi\u015fkeninde bulunmad\u0131\u011f\u0131 veya Java&#8217;n\u0131n hi\u00e7 kurulmad\u0131\u011f\u0131 anlam\u0131na gelir.<br \/>\n<strong>\u00c7\u00f6z\u00fcmler:<\/strong><br \/>\n*   Java&#8217;n\u0131n do\u011fru \u015fekilde kuruldu\u011fundan emin olun (<code>sudo apt install default-jre<\/code> veya <code>default-jdk<\/code>).<br \/>\n*   Kurulumdan sonra terminali kapat\u0131p yeniden a\u00e7may\u0131 deneyin.<br \/>\n*   <code>sudo update-alternatives --config java<\/code> komutuyla varsay\u0131lan Java s\u00fcr\u00fcm\u00fcn\u00fc ayarlay\u0131n.<br \/>\n*   <code>PATH<\/code> ortam de\u011fi\u015fkeninizin do\u011fru ayarland\u0131\u011f\u0131ndan emin olun (\u00f6zellikle manuel <code>JAVA_HOME<\/code> ayar\u0131 yapt\u0131ysan\u0131z).<\/p>\n<h4>&#8220;JAVA_HOME is not set&#8221; Hatas\u0131<\/h4>\n<p>Bu hata genellikle Maven, Gradle gibi derleme ara\u00e7lar\u0131 veya baz\u0131 IDE&#8217;ler taraf\u0131ndan verilir ve <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin ayarlanmam\u0131\u015f oldu\u011funu g\u00f6sterir.<br \/>\n<strong>\u00c7\u00f6z\u00fcmler:<\/strong><br \/>\n*   <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkenini <code>.bashrc<\/code> veya <code>.profile<\/code> dosyan\u0131za yukar\u0131da belirtildi\u011fi gibi ekleyin ve dosyay\u0131 <code>source<\/code> edin.<br \/>\n*   Do\u011fru Java kurulum yolunu kulland\u0131\u011f\u0131n\u0131zdan emin olun (\u00f6rne\u011fin <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code>).<\/p>\n<h4>Birden Fazla Java S\u00fcr\u00fcm\u00fc \u00c7ak\u0131\u015fmas\u0131<\/h4>\n<p>Sisteminizde birden fazla Java s\u00fcr\u00fcm\u00fc kuruluysa, hangi s\u00fcr\u00fcm\u00fcn varsay\u0131lan olarak kullan\u0131laca\u011f\u0131 konusunda kar\u0131\u015f\u0131kl\u0131k ya\u015fanabilir.<br \/>\n<strong>\u00c7\u00f6z\u00fcmler:<\/strong><br \/>\n*   <code>sudo update-alternatives --config java<\/code> ve <code>sudo update-alternatives --config javac<\/code> komutlar\u0131n\u0131 kullanarak istedi\u011finiz Java s\u00fcr\u00fcm\u00fcn\u00fc varsay\u0131lan olarak ayarlay\u0131n.<br \/>\n*   Gereksiz Java s\u00fcr\u00fcmlerini kald\u0131r\u0131n (<code>sudo apt purge openjdk-xx-jdk<\/code>).<\/p>\n<h4>Depo Eri\u015fim Sorunlar\u0131<\/h4>\n<p><code>sudo apt update<\/code> komutu \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda hata al\u0131yorsan\u0131z, depo eri\u015fim sorunlar\u0131 olabilir.<br \/>\n<strong>\u00c7\u00f6z\u00fcmler:<\/strong><br \/>\n*   \u0130nternet ba\u011flant\u0131n\u0131z\u0131n aktif oldu\u011fundan emin olun.<br \/>\n*   <code>sudo apt update --fix-missing<\/code> komutunu deneyin.<br \/>\n*   <code>\/etc\/apt\/sources.list<\/code> dosyan\u0131zdaki veya <code>\/etc\/apt\/sources.list.d\/<\/code> dizinindeki depo URL&#8217;lerini kontrol edin. Yanl\u0131\u015f veya bozuk bir depo giri\u015fi bu t\u00fcr sorunlara neden olabilir.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu makalede, Ubuntu i\u015fletim sisteminde <code>apt<\/code> paket y\u00f6neticisi kullanarak Java Runtime Environment (JRE) ve Java Development Kit (JDK) kurulumunun t\u00fcm y\u00f6nlerini ele ald\u0131k. OpenJDK&#8217;n\u0131n varsay\u0131lan ve belirli s\u00fcr\u00fcmlerinin nas\u0131l kurulaca\u011f\u0131n\u0131, birden fazla Java s\u00fcr\u00fcm\u00fc aras\u0131nda nas\u0131l ge\u00e7i\u015f yap\u0131laca\u011f\u0131n\u0131 ve <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin nas\u0131l ayarlanaca\u011f\u0131n\u0131 \u00f6\u011frendiniz. Ayr\u0131ca, Oracle JDK&#8217;n\u0131n \u00fc\u00e7\u00fcnc\u00fc taraf bir PPA arac\u0131l\u0131\u011f\u0131yla nas\u0131l kurulabilece\u011fine dair bir y\u00f6ntem sunduk ve yayg\u0131n sorunlara \u00e7\u00f6z\u00fcm \u00f6nerileri getirdik.<\/p>\n<p>Ubuntu&#8217;da Java kurulumu, <code>apt<\/code> sayesinde olduk\u00e7a basit ve y\u00f6netilebilir bir s\u00fcre\u00e7tir. Geli\u015ftirici veya son kullan\u0131c\u0131 olman\u0131z fark etmeksizin, bu rehberdeki ad\u0131mlar\u0131 takip ederek sisteminizde Java&#8217;y\u0131 sorunsuz bir \u015fekilde kurabilir ve \u00e7al\u0131\u015ft\u0131rabilirsiniz. \u00c7o\u011fu kullan\u0131c\u0131 i\u00e7in OpenJDK, a\u00e7\u0131k kaynak yap\u0131s\u0131, \u00fccretsiz lisanslamas\u0131 ve Ubuntu depolar\u0131nda kolay bulunabilirli\u011fi sayesinde en iyi se\u00e7enektir. Java&#8217;n\u0131n platform ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131 ve g\u00fc\u00e7l\u00fc ekosistemi sayesinde, art\u0131k Ubuntu sisteminizde Java tabanl\u0131 uygulamalar\u0131 \u00e7al\u0131\u015ft\u0131rmaya veya kendi Java projelerinizi geli\u015ftirmeye haz\u0131rs\u0131n\u0131z. Unutmay\u0131n, d\u00fczenli sistem g\u00fcncellemeleri ve Java s\u00fcr\u00fcm y\u00f6netimi, geli\u015ftirme ortam\u0131n\u0131z\u0131n stabil ve g\u00fcvenli kalmas\u0131 i\u00e7in kritik \u00f6neme sahiptir.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)\nJava, g\u00fcn\u00fcm\u00fczde en yayg\u0131n kullan\u0131lan programlama dillerinden ve platformlar\u0131ndan biridir. Ge","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-35603","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu&#039;da Apt Kullanarak Java Kurulumu (JRE &amp; JDK) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu&#039;da Apt Kullanarak Java Kurulumu (JRE &amp; JDK)\" \/>\n<meta property=\"og:description\" content=\"Ubuntu&#039;da Apt Kullanarak Java Kurulumu (JRE &amp; JDK) Java, g\u00fcn\u00fcm\u00fczde en yayg\u0131n kullan\u0131lan programlama dillerinden ve platformlar\u0131ndan biridir. Ge\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-12-01T13:40:43+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"18 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)\",\"datePublished\":\"2025-12-01T13:40:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\"},\"wordCount\":3071,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\",\"name\":\"Ubuntu'da Apt Kullanarak Java Kurulumu (JRE & JDK) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-12-01T13:40:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu'da Apt Kullanarak Java Kurulumu (JRE & JDK) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu'da Apt Kullanarak Java Kurulumu (JRE & JDK)","og_description":"Ubuntu'da Apt Kullanarak Java Kurulumu (JRE & JDK) Java, g\u00fcn\u00fcm\u00fczde en yayg\u0131n kullan\u0131lan programlama dillerinden ve platformlar\u0131ndan biridir. Ge","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-12-01T13:40:43+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"18 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)","datePublished":"2025-12-01T13:40:43+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/"},"wordCount":3071,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/","name":"Ubuntu'da Apt Kullanarak Java Kurulumu (JRE & JDK) - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-12-01T13:40:43+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntuda-apt-kullanarak-java-kurulumu-jre-jdk\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu&#8217;da Apt Kullanarak Java Kurulumu (JRE &#038; JDK)"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35603"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35603\/revisions"}],"predecessor-version":[{"id":35604,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35603\/revisions\/35604"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35603"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35603"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}