{"id":38079,"date":"2026-01-22T22:40:57","date_gmt":"2026-01-22T19:40:57","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=38079"},"modified":"2026-01-22T22:40:57","modified_gmt":"2026-01-22T19:40:57","slug":"ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/","title":{"rendered":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur<\/h2>\n<h2>Giri\u015f<\/h2>\n<p>Java, 1995 y\u0131l\u0131nda Sun Microsystems taraf\u0131ndan geli\u015ftirilen ve g\u00fcn\u00fcm\u00fczde Oracle Corporation taraf\u0131ndan s\u00fcrd\u00fcr\u00fclen, nesne y\u00f6nelimli, s\u0131n\u0131f tabanl\u0131, e\u015fzamanl\u0131 ve genel ama\u00e7l\u0131 bir programlama dilidir. &#8220;Bir kez yaz, her yerde \u00e7al\u0131\u015ft\u0131r&#8221; (Write Once, Run Anywhere &#8211; WORA) felsefesiyle tasarlanm\u0131\u015f olmas\u0131 sayesinde, Java kodu derlendikten sonra herhangi bir platformda (i\u015fletim sistemi, donan\u0131m mimarisi) Java Sanal Makinesi (JVM) kurulu oldu\u011fu s\u00fcrece \u00e7al\u0131\u015fabilir. Bu \u00f6zelli\u011fi, Java&#8217;y\u0131 kurumsal uygulamalardan mobil geli\u015ftirmeye (Android), web uygulamalar\u0131ndan b\u00fcy\u00fck veri i\u015fleme platformlar\u0131na kadar geni\u015f bir yelpazede pop\u00fcler bir se\u00e7im haline getirmi\u015ftir.<\/p>\n<p>Ubuntu 20.04 LTS (Long Term Support) s\u00fcr\u00fcm\u00fc, kararl\u0131l\u0131\u011f\u0131, g\u00fcvenilirli\u011fi ve uzun s\u00fcreli g\u00fcvenlik g\u00fcncellemeleri nedeniyle sunucular ve geli\u015ftirme ortamlar\u0131 i\u00e7in s\u0131k\u00e7a tercih edilen bir Linux da\u011f\u0131t\u0131m\u0131d\u0131r. <code>apt<\/code> (Advanced Package Tool) ise Ubuntu ve Debian tabanl\u0131 di\u011fer da\u011f\u0131t\u0131mlarda yaz\u0131l\u0131m paketlerini y\u00f6netmek i\u00e7in kullan\u0131lan g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 arac\u0131d\u0131r. <code>apt<\/code> sayesinde Java kurulumu, ba\u011f\u0131ml\u0131l\u0131klar\u0131n otomatik olarak \u00e7\u00f6z\u00fclmesi ve sistemle uyumlu bir \u015fekilde entegre edilmesi a\u00e7\u0131s\u0131ndan son derece kolay ve g\u00fcvenilirdir.<\/p>\n<p>Bu makalede, Ubuntu 20.04 \u00fczerinde Java&#8217;n\u0131n farkl\u0131 s\u00fcr\u00fcmlerini <code>apt<\/code> paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, y\u00f6netece\u011finizi ve bir geli\u015ftirme ortam\u0131 i\u00e7in nas\u0131l yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ayr\u0131nt\u0131l\u0131 olarak ele alaca\u011f\u0131z. Hem OpenJDK&#8217;n\u0131n varsay\u0131lan ve belirli s\u00fcr\u00fcmlerinin kurulumunu hem de iste\u011fe ba\u011fl\u0131 olarak Oracle JDK&#8217;n\u0131n kurulum y\u00f6ntemlerini inceleyecek, birden fazla Java s\u00fcr\u00fcm\u00fcn\u00fc y\u00f6netme, <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkenini ayarlama ve yayg\u0131n sorunlar\u0131 giderme konular\u0131na de\u011finece\u011fiz. Bu k\u0131lavuzun sonunda, Ubuntu 20.04 sisteminizde sa\u011flam ve i\u015flevsel bir Java geli\u015ftirme ortam\u0131na sahip olacaks\u0131n\u0131z.<\/p>\n<h2>Java Versiyonlar\u0131 ve Tercihler<\/h2>\n<p>Java ekosistemi, zaman i\u00e7inde \u00e7e\u015fitli s\u00fcr\u00fcmler ve uygulamalarla geni\u015flemi\u015ftir. \u00d6zellikle OpenJDK ve Oracle JDK aras\u0131ndaki farklar ve LTS (Long Term Support) s\u00fcr\u00fcmlerinin \u00f6nemi, kurulum \u00f6ncesinde anla\u015f\u0131lmas\u0131 gereken kritik noktalard\u0131r.<\/p>\n<h3>OpenJDK ve Oracle JDK Aras\u0131ndaki Farklar<\/h3>\n<p>Java&#8217;n\u0131n iki ana uygulamas\u0131 OpenJDK ve Oracle JDK&#8217;d\u0131r. Temel olarak ayn\u0131 kodu payla\u015fsalar da, aralar\u0131nda baz\u0131 \u00f6nemli farklar bulunmaktad\u0131r:<\/p>\n<p>*   <strong>OpenJDK (Open Java Development Kit):<\/strong> A\u00e7\u0131k kaynakl\u0131 ve \u00fccretsiz bir Java platformu uygulamas\u0131d\u0131r. Oracle ve di\u011fer bir\u00e7ok \u015firket ve birey taraf\u0131ndan aktif olarak geli\u015ftirilmektedir. \u00c7o\u011fu Linux da\u011f\u0131t\u0131m\u0131, varsay\u0131lan Java paketi olarak OpenJDK&#8217;y\u0131 sunar. Geli\u015ftirme ve \u00fcretim ortamlar\u0131nda kullan\u0131m\u0131 tamamen \u00fccretsiz ve lisans sorunlar\u0131ndan ar\u0131nd\u0131r\u0131lm\u0131\u015ft\u0131r. Genellikle en son \u00f6zellikler ve g\u00fcvenlik g\u00fcncellemeleri OpenJDK projesi \u00fczerinden yay\u0131nlan\u0131r.<br \/>\n*   <strong>Oracle JDK:<\/strong> Oracle taraf\u0131ndan da\u011f\u0131t\u0131lan ticari bir Java uygulamas\u0131d\u0131r. Ge\u00e7mi\u015fte \u00fccretsiz olsa da, Oracle Java 11 ve sonraki s\u00fcr\u00fcmlerden itibaren ticari kullan\u0131m i\u00e7in \u00fccretli bir lisans gerektirmektedir. Geli\u015ftirme amac\u0131yla kullan\u0131labilirken, \u00fcretim ortamlar\u0131nda veya ticari uygulamalarda belirli lisans ko\u015fullar\u0131na tabidir. Oracle JDK, OpenJDK&#8217;ya g\u00f6re baz\u0131 ek tescilli ara\u00e7lar veya performans iyile\u015ftirmeleri i\u00e7erebilir, ancak \u00e7o\u011fu durumda bu farkl\u0131l\u0131klar ortalama bir kullan\u0131c\u0131 veya geli\u015ftirici i\u00e7in belirleyici de\u011fildir.<\/p>\n<p>G\u00fcn\u00fcm\u00fczde, lisanslama karma\u015f\u0131kl\u0131\u011f\u0131 ve OpenJDK&#8217;n\u0131n olgunlu\u011fu ve topluluk deste\u011fi g\u00f6z \u00f6n\u00fcne al\u0131nd\u0131\u011f\u0131nda, \u00e7o\u011fu geli\u015ftirici ve kurulu\u015f i\u00e7in OpenJDK tercih edilen se\u00e7enektir. Ubuntu&#8217;nun resmi depolar\u0131nda bulunan t\u00fcm Java paketleri OpenJDK tabanl\u0131d\u0131r.<\/p>\n<h3>LTS S\u00fcr\u00fcmlerinin \u00d6nemi<\/h3>\n<p>Java&#8217;n\u0131n belirli s\u00fcr\u00fcmleri &#8220;LTS&#8221; (Long Term Support &#8211; Uzun S\u00fcreli Destek) olarak i\u015faretlenir. Bu s\u00fcr\u00fcmler, Oracle ve OpenJDK toplulu\u011fu taraf\u0131ndan daha uzun s\u00fcre g\u00fcvenlik g\u00fcncellemeleri ve hata d\u00fczeltmeleri al\u0131r. LTS olmayan s\u00fcr\u00fcmler genellikle alt\u0131 ayda bir yay\u0131nlan\u0131r ve daha k\u0131sa bir destek d\u00f6ng\u00fcs\u00fcne sahiptir.<\/p>\n<p>Pop\u00fcler LTS Java s\u00fcr\u00fcmleri \u015funlard\u0131r:<\/p>\n<p>*   <strong>Java 8 (LTS):<\/strong> Hala bir\u00e7ok eski kurumsal uygulamada kullan\u0131lmaktad\u0131r. Uzun s\u00fcreli deste\u011fi sayesinde g\u00fcvenilirli\u011fini korumu\u015ftur.<br \/>\n*   <strong>Java 11 (LTS):<\/strong> Java 8&#8217;den sonraki ilk b\u00fcy\u00fck LTS s\u00fcr\u00fcm\u00fcd\u00fcr. Mod\u00fclerlik (Jigsaw projesi) gibi \u00f6nemli iyile\u015ftirmeler getirmi\u015ftir. Bir\u00e7ok yeni projenin ve geli\u015ftiricinin tercihidir.<br \/>\n*   <strong>Java 17 (LTS):<\/strong> Java 11&#8217;den sonraki bir di\u011fer \u00f6nemli LTS s\u00fcr\u00fcm\u00fcd\u00fcr. Sealed Classes, Pattern Matching gibi yeni dil \u00f6zelliklerini ve performans iyile\u015ftirmelerini i\u00e7erir. Modern uygulamalar i\u00e7in g\u00fc\u00e7l\u00fc bir adayd\u0131r.<br \/>\n*   <strong>Java 21 (LTS):<\/strong> En yeni LTS s\u00fcr\u00fcm\u00fcd\u00fcr. Sanal Thread&#8217;ler (Project Loom), Sequenced Collections gibi \u00f6nemli yenilikler sunar.<\/p>\n<p>Hangi s\u00fcr\u00fcm\u00fc se\u00e7ece\u011finiz, projenizin gereksinimlerine, kullanaca\u011f\u0131n\u0131z k\u00fct\u00fcphanelerin uyumlulu\u011funa ve kurulu\u015funuzun standartlar\u0131na ba\u011fl\u0131d\u0131r. Yeni bir proje ba\u015flat\u0131yorsan\u0131z, genellikle en son LTS s\u00fcr\u00fcm\u00fc (\u015fu an i\u00e7in Java 21 veya 17) tercih etmek iyi bir ba\u015flang\u0131\u00e7 noktas\u0131d\u0131r.<\/p>\n<h2>Sistem Gereksinimleri ve Haz\u0131rl\u0131k<\/h2>\n<p>Java kurulumuna ba\u015flamadan \u00f6nce sisteminizin belirli gereksinimleri kar\u015f\u0131lad\u0131\u011f\u0131ndan ve temel haz\u0131rl\u0131k ad\u0131mlar\u0131n\u0131n tamamland\u0131\u011f\u0131ndan emin olman\u0131z gerekir.<\/p>\n<h3>Gerekli \u00d6nko\u015fullar<\/h3>\n<p>*   <strong>Ubuntu 20.04 LTS:<\/strong> Bu k\u0131lavuz, \u00f6zellikle Ubuntu 20.04 (Focal Fossa) s\u00fcr\u00fcm\u00fc i\u00e7in yaz\u0131lm\u0131\u015ft\u0131r. Di\u011fer Ubuntu veya Debian tabanl\u0131 da\u011f\u0131t\u0131mlarda da benzer ad\u0131mlar izlenebilir, ancak paket adlar\u0131 veya versiyonlar\u0131 farkl\u0131l\u0131k g\u00f6sterebilir.<br \/>\n*   <strong><code>sudo<\/code> Yetkilerine Sahip Bir Kullan\u0131c\u0131:<\/strong> Java paketlerini kurmak ve sistem \u00e7ap\u0131nda de\u011fi\u015fiklikler yapmak i\u00e7in y\u00f6netici (root) ayr\u0131cal\u0131klar\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r. Bu nedenle, <code>sudo<\/code> komutunu kullanabilen bir kullan\u0131c\u0131 hesab\u0131yla oturum a\u00e7m\u0131\u015f olman\u0131z gerekmektedir.<br \/>\n*   <strong>\u0130nternet Ba\u011flant\u0131s\u0131:<\/strong> Java paketlerini Ubuntu depolar\u0131ndan indirmek i\u00e7in aktif bir internet ba\u011flant\u0131s\u0131 \u015fartt\u0131r.<\/p>\n<h3>Paket Listesini G\u00fcncelleme<\/h3>\n<p>Kuruluma ba\u015flamadan \u00f6nce, sisteminizin paket listesini g\u00fcncellemek ve mevcut paketleri y\u00fckseltmek iyi bir uygulamad\u0131r. Bu, en son paket bilgilerini alman\u0131z\u0131 sa\u011flar ve olas\u0131 ba\u011f\u0131ml\u0131l\u0131k sorunlar\u0131n\u0131 \u00f6nler.<\/p>\n<p>Terminali a\u00e7\u0131n (Ctrl+Alt+T) ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>*   <code>sudo apt update<\/code>: Yerel paket indeksini Ubuntu depolar\u0131ndaki en son bilgilerle senkronize eder. Bu, hangi paketlerin mevcut oldu\u011funu ve hangi s\u00fcr\u00fcmlerin y\u00fcklenebilece\u011fini sisteminize bildirir.<br \/>\n*   <code>sudo apt upgrade -y<\/code>: Sisteminizde y\u00fckl\u00fc olan t\u00fcm paketleri en son s\u00fcr\u00fcmlerine y\u00fckseltir. <code>-y<\/code> bayra\u011f\u0131, t\u00fcm y\u00fckseltme onay sorular\u0131na otomatik olarak &#8220;evet&#8221; yan\u0131t\u0131 vermenizi sa\u011flar.<\/p>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131ktan sonra, Java kurulumuna ge\u00e7meye haz\u0131rs\u0131n\u0131z.<\/p>\n<h2>OpenJDK Kurulumu<\/h2>\n<p>OpenJDK, Ubuntu&#8217;nun resmi depolar\u0131nda bulunan ve \u00e7o\u011fu kullan\u0131c\u0131 i\u00e7in \u00f6nerilen Java uygulamas\u0131d\u0131r. Kurulumu son derece basittir ve <code>apt<\/code> paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla kolayca ger\u00e7ekle\u015ftirilebilir.<\/p>\n<h3>Varsay\u0131lan JRE Kurulumu<\/h3>\n<p>E\u011fer sadece Java uygulamalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rman\u0131z gerekiyorsa (yani kod derlemeyecekseniz), Java Runtime Environment (JRE) yeterli olacakt\u0131r. JRE, Java uygulamalar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in gerekli olan JVM ve temel k\u00fct\u00fcphaneleri i\u00e7erir.<\/p>\n<p>Varsay\u0131lan JRE&#8217;yi kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install default-jre<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, Java&#8217;n\u0131n do\u011fru bir \u015fekilde y\u00fcklendi\u011fini do\u011frulamak i\u00e7in s\u00fcr\u00fcm\u00fcn\u00fc kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">java -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, y\u00fckl\u00fc Java s\u00fcr\u00fcm\u00fcn\u00fc (genellikle en son LTS s\u00fcr\u00fcm\u00fc olan OpenJDK 11 veya 17) ve ilgili bilgileri g\u00f6sterecektir:<\/p>\n<pre><code class=\"language-\">openjdk version \"11.0.12\" 2021-07-20\nOpenJDK Runtime Environment (build 11.0.12+7-Ubuntu-0ubuntu2.20.04)\nOpenJDK 64-Bit Server VM (build 11.0.12+7-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)<\/code><\/pre>\n<h3>Varsay\u0131lan JDK Kurulumu<\/h3>\n<p>Java ile uygulama geli\u015ftirmek, kod derlemek ve hata ay\u0131klamak istiyorsan\u0131z, Java Development Kit (JDK) kurman\u0131z gerekir. JDK, JRE&#8217;ye ek olarak Java derleyicisi (<code>javac<\/code>), hata ay\u0131klay\u0131c\u0131lar ve di\u011fer geli\u015ftirme ara\u00e7lar\u0131n\u0131 i\u00e7erir.<\/p>\n<p>Varsay\u0131lan JDK&#8217;y\u0131 kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install default-jdk<\/code><\/pre>\n<p>Bu komut, sisteminiz i\u00e7in varsay\u0131lan OpenJDK s\u00fcr\u00fcm\u00fcn\u00fc (genellikle en son LTS s\u00fcr\u00fcm\u00fc) kuracakt\u0131r. Kurulum tamamland\u0131\u011f\u0131nda, hem <code>java<\/code> hem de <code>javac<\/code> komutlar\u0131n\u0131n kullan\u0131labilirli\u011fini kontrol edebilirsiniz.<\/p>\n<p><code>java<\/code> s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">java -version<\/code><\/pre>\n<p><code>javac<\/code> (Java Derleyici) s\u00fcr\u00fcm\u00fcn\u00fc kontrol edin:<\/p>\n<pre><code class=\"language-bash\">javac -version<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131, <code>javac<\/code> komutunun da kullan\u0131labilir oldu\u011funu ve <code>java<\/code> komutuyla ayn\u0131 s\u00fcr\u00fcme i\u015faret etti\u011fini g\u00f6sterecektir:<\/p>\n<pre><code class=\"language-\">javac 11.0.12<\/code><\/pre>\n<h3>Belirli Bir OpenJDK S\u00fcr\u00fcm\u00fcn\u00fc Kurma<\/h3>\n<p>Bazen projenizin belirli bir Java s\u00fcr\u00fcm\u00fcn\u00fc gerektirmesi veya farkl\u0131 bir LTS s\u00fcr\u00fcm\u00fcn\u00fc kullanmak istemeniz gerekebilir. Ubuntu depolar\u0131, \u00e7e\u015fitli OpenJDK s\u00fcr\u00fcmlerini sunar.<\/p>\n<p>Mevcut OpenJDK paketlerini listelemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">apt search openjdk<\/code><\/pre>\n<p>Bu komut, depolarda bulunan t\u00fcm OpenJDK ile ilgili paketleri listeleyecektir. \u00c7\u0131kt\u0131, <code>openjdk-8-jdk<\/code>, <code>openjdk-11-jdk<\/code>, <code>openjdk-17-jdk<\/code>, <code>openjdk-21-jdk<\/code> gibi paket adlar\u0131n\u0131 i\u00e7erecektir.<\/p>\n<p>\u00d6rne\u011fin, Java 11 LTS s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-11-jdk<\/code><\/pre>\n<p>Java 17 LTS s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-17-jdk<\/code><\/pre>\n<p>Java 21 LTS s\u00fcr\u00fcm\u00fcn\u00fc kurmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt install openjdk-21-jdk<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, kurdu\u011funuz s\u00fcr\u00fcm\u00fcn do\u011fru oldu\u011funu do\u011frulamak i\u00e7in s\u00fcr\u00fcm kontrol\u00fc yapabilirsiniz. Ancak, birden fazla Java s\u00fcr\u00fcm\u00fc y\u00fckl\u00fcyse, <code>java -version<\/code> komutu sistemin varsay\u0131lan olarak ayarlad\u0131\u011f\u0131 s\u00fcr\u00fcm\u00fc g\u00f6sterecektir. Belirli bir s\u00fcr\u00fcm\u00fc varsay\u0131lan yapmak i\u00e7in sonraki b\u00f6l\u00fcmde anlat\u0131lan <code>update-alternatives<\/code> komutunu kullanman\u0131z gerekecektir.<\/p>\n<h2>Birden Fazla Java S\u00fcr\u00fcm\u00fcn\u00fc Y\u00f6netme<\/h2>\n<p>Bir geli\u015ftirici olarak, farkl\u0131 projeler i\u00e7in farkl\u0131 Java s\u00fcr\u00fcmlerine ihtiya\u00e7 duyman\u0131z olduk\u00e7a yayg\u0131nd\u0131r. Ubuntu, <code>update-alternatives<\/code> komutu arac\u0131l\u0131\u011f\u0131yla birden fazla Java s\u00fcr\u00fcm\u00fcn\u00fc kolayca y\u00f6netmenizi sa\u011flar. Ayr\u0131ca, baz\u0131 uygulamalar ve geli\u015ftirme ortamlar\u0131 i\u00e7in <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin do\u011fru \u015fekilde ayarlanmas\u0131 \u00f6nemlidir.<\/p>\n<h3>Varsay\u0131lan Java S\u00fcr\u00fcm\u00fcn\u00fc Ayarlama<\/h3>\n<p>Sisteminizde birden fazla Java s\u00fcr\u00fcm\u00fc y\u00fckl\u00fcyse, <code>update-alternatives<\/code> komutu, <code>java<\/code> ve <code>javac<\/code> gibi komutlar\u0131n hangi Java s\u00fcr\u00fcm\u00fcne i\u015faret edece\u011fini belirlemenizi sa\u011flar.<\/p>\n<p>Mevcut Java uygulamalar\u0131n\u0131 ve bunlar\u0131n \u00f6nceliklerini g\u00f6rmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java<\/code><\/pre>\n<p>Bu komut, sisteminizde y\u00fckl\u00fc olan t\u00fcm Java y\u00fcr\u00fct\u00fclebilir dosyalar\u0131n\u0131 bir liste halinde sunar ve sizden varsay\u0131lan olarak kullanmak istedi\u011finiz s\u00fcr\u00fcm\u00fcn numaras\u0131n\u0131 girmenizi ister:<\/p>\n<pre><code class=\"language-\">There are 2 choices for the alternative java (providing \/usr\/bin\/java).\n\n  Selection    Path                                            Priority   Status\n------------------------------------------------------------\n* 0            \/usr\/lib\/jvm\/java-11-openjdk-amd64\/bin\/java      1111      auto mode\n  1            \/usr\/lib\/jvm\/java-11-openjdk-amd64\/bin\/java      1111      manual mode\n  2            \/usr\/lib\/jvm\/java-17-openjdk-amd64\/bin\/java      1711      manual mode\n\nPress <enter> to keep the current choice[*], or type selection number:<\/code><\/pre>\n<p>Bu \u00f6rnekte, <code>java-11-openjdk-amd64<\/code> ve <code>java-17-openjdk-amd64<\/code> olmak \u00fczere iki Java s\u00fcr\u00fcm\u00fc y\u00fckl\u00fcd\u00fcr. <code>*<\/code> i\u015fareti, \u015fu anda varsay\u0131lan olarak Java 11&#8217;in se\u00e7ili oldu\u011funu g\u00f6sterir. E\u011fer Java 17&#8217;yi varsay\u0131lan yapmak istiyorsan\u0131z, <code>2<\/code> yaz\u0131p Enter tu\u015funa bas\u0131n.<\/p>\n<p>Ayn\u0131 i\u015flemi <code>javac<\/code> (Java derleyici) i\u00e7in de yapman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config javac<\/code><\/pre>\n<p>Yine, istedi\u011finiz <code>javac<\/code> s\u00fcr\u00fcm\u00fcn\u00fcn numaras\u0131n\u0131 girin. Genellikle <code>java<\/code> ve <code>javac<\/code> i\u00e7in ayn\u0131 s\u00fcr\u00fcm\u00fc se\u00e7mek en iyisidir.<\/p>\n<p>Se\u00e7imi yapt\u0131ktan sonra, yeni varsay\u0131lan s\u00fcr\u00fcm\u00fcn etkin olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">java -version\njavac -version<\/code><\/pre>\n<h3>JAVA_HOME Ortam De\u011fi\u015fkenini Ayarlama<\/h3>\n<p>Baz\u0131 Java uygulamalar\u0131, geli\u015ftirme ortamlar\u0131 (IDE&#8217;ler gibi) ve derleme ara\u00e7lar\u0131 (Maven, Gradle gibi) do\u011fru Java kurulumunu bulmak i\u00e7in <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkenine g\u00fcvenir. Bu de\u011fi\u015fken, Java JDK&#8217;s\u0131n\u0131n k\u00f6k dizinini i\u015faret eder.<\/p>\n<p><code>JAVA_HOME<\/code> de\u011ferini bulmak i\u00e7in, \u00f6ncelikle <code>update-alternatives<\/code> komutunun g\u00f6sterdi\u011fi yolu kullanabilirsiniz. \u00d6rne\u011fin, Java 17&#8217;yi se\u00e7tiyseniz, yolu <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code> gibi olacakt\u0131r.<\/p>\n<p><code>JAVA_HOME<\/code> ortam de\u011fi\u015fkenini kal\u0131c\u0131 olarak ayarlamak i\u00e7in, genellikle kullan\u0131c\u0131ya \u00f6zel <code>~\/.bashrc<\/code> veya <code>~\/.profile<\/code> dosyas\u0131na ya da sistem genelinde <code>\/etc\/environment<\/code> dosyas\u0131na eklemeniz gerekir. Kullan\u0131c\u0131ya \u00f6zel ayarlar i\u00e7in <code>~\/.bashrc<\/code> tercih edilir.<\/p>\n<p>1.  <strong>Hangi Java s\u00fcr\u00fcm\u00fcn\u00fcn yolunu kullanaca\u011f\u0131n\u0131z\u0131 belirleyin:<\/strong><br \/>\n    <code>update-alternatives --config java<\/code> komutundan se\u00e7ti\u011finiz s\u00fcr\u00fcm\u00fcn &#8220;Path&#8221; s\u00fctunundaki yolu kopyalay\u0131n. \u00d6rne\u011fin, <code>java-17-openjdk-amd64<\/code> i\u00e7in bu yol <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code> olabilir.<br \/>\n    <em>Not: Genellikle yolun sonunda <code>\/bin\/java<\/code> veya <code>\/bin\/javac<\/code> k\u0131sm\u0131 olmadan, sadece JDK&#8217;n\u0131n k\u00f6k dizini olmal\u0131d\u0131r.<\/em><\/p>\n<p>2.  <strong><code>~\/.bashrc<\/code> dosyas\u0131n\u0131 d\u00fczenleyin:<\/strong><br \/>\n    Bir metin d\u00fczenleyici ile <code>~\/.bashrc<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">nano ~\/.bashrc<\/code><\/pre>\n<p>3.  <strong>A\u015fa\u011f\u0131daki sat\u0131rlar\u0131 dosyan\u0131n sonuna ekleyin:<\/strong><br \/>\n    <code>JAVA_HOME<\/code> de\u011fi\u015fkenini kurdu\u011funuz Java s\u00fcr\u00fcm\u00fcn\u00fcn yoluna g\u00f6re ayarlay\u0131n. \u00d6rne\u011fin, Java 17 i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">export JAVA_HOME=\"\/usr\/lib\/jvm\/java-17-openjdk-amd64\"\n    export PATH=$PATH:$JAVA_HOME\/bin<\/code><\/pre>\n<p>    *   <code>export JAVA_HOME=\"...\"<\/code>: <code>JAVA_HOME<\/code> de\u011fi\u015fkenini belirtilen yola ayarlar.<br \/>\n    *   <code>export PATH=$PATH:$JAVA_HOME\/bin<\/code>: Java y\u00fcr\u00fct\u00fclebilir dosyalar\u0131n\u0131n (java, javac vb.) sistemin PATH de\u011fi\u015fkenine eklenmesini sa\u011flar, b\u00f6ylece bu komutlar\u0131 herhangi bir dizinden \u00e7al\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<p>4.  <strong>De\u011fi\u015fiklikleri kaydedin ve d\u00fczenleyiciden \u00e7\u0131k\u0131n.<\/strong> (Nano&#8217;da: Ctrl+O, Enter, Ctrl+X)<\/p>\n<p>5.  <strong>De\u011fi\u015fiklikleri uygulay\u0131n:<\/strong><br \/>\n    Yeni ortam de\u011fi\u015fkenlerinin ge\u00e7erli oturumunuzda etkin olmas\u0131 i\u00e7in <code>~\/.bashrc<\/code> dosyas\u0131n\u0131 kaynak olarak g\u00f6sterin:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>6.  <strong><code>JAVA_HOME<\/code> de\u011fi\u015fkeninin do\u011fru ayarland\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n:<\/strong><\/p>\n<pre><code class=\"language-bash\">echo $JAVA_HOME<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131, ayarlad\u0131\u011f\u0131n\u0131z yolu g\u00f6stermelidir:<\/p>\n<pre><code class=\"language-\">\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code><\/pre>\n<p>Bu ad\u0131mlar\u0131 tamamlad\u0131\u011f\u0131n\u0131zda, sisteminiz hem varsay\u0131lan Java s\u00fcr\u00fcm\u00fcn\u00fc do\u011fru bir \u015fekilde kullanacak hem de <code>JAVA_HOME<\/code> de\u011fi\u015fkeni arac\u0131l\u0131\u011f\u0131yla di\u011fer uygulamalar taraf\u0131ndan bulunabilecektir.<\/p>\n<h2>Oracle JDK Kurulumu (\u0130ste\u011fe Ba\u011fl\u0131)<\/h2>\n<p>Oracle JDK, ticari lisanslama ko\u015fullar\u0131 nedeniyle OpenJDK&#8217;ya g\u00f6re daha az tercih edilse de, baz\u0131 \u00f6zel durumlar veya eski projeler i\u00e7in hala gerekli olabilir. Oracle JDK&#8217;y\u0131 Ubuntu&#8217;ya kurman\u0131n iki ana yolu vard\u0131r: manuel kurulum veya PPA (Personal Package Archive) kullanarak kurulum. Oracle&#8217;\u0131n lisans politikalar\u0131n\u0131n s\u0131k s\u0131k de\u011fi\u015fti\u011fini ve bu nedenle PPA&#8217;lar\u0131n g\u00fcvenilirli\u011finin zaman zaman sorunlu olabilece\u011fini unutmamak \u00f6nemlidir.<\/p>\n<h3>Manuel Kurulum<\/h3>\n<p>Bu y\u00f6ntem, Oracle&#8217;\u0131n resmi web sitesinden JDK&#8217;y\u0131 indirip manuel olarak kurmay\u0131 i\u00e7erir.<\/p>\n<p>1.  <strong>Oracle JDK&#8217;y\u0131 \u0130ndirme:<\/strong><br \/>\n    Oracle&#8217;\u0131n resmi Java indirme sayfas\u0131na gidin (\u00f6rne\u011fin, Java 17 veya Java 21 i\u00e7in). &#8220;Linux x64 Compressed Archive&#8221; (<code>.tar.gz<\/code> uzant\u0131l\u0131) dosyas\u0131n\u0131 indirin. \u0130ndirmek i\u00e7in bir Oracle hesab\u0131na giri\u015f yapman\u0131z gerekebilir ve lisans anla\u015fmas\u0131n\u0131 kabul etmeniz istenecektir.<\/p>\n<p>2.  <strong>JDK Ar\u015fivini \u00c7\u0131karma:<\/strong><br \/>\n    \u0130ndirilen <code>.tar.gz<\/code> dosyas\u0131n\u0131 genellikle <code>\/tmp<\/code> dizinine veya ana dizininize ta\u015f\u0131y\u0131n. Ard\u0131ndan, bir dizine \u00e7\u0131kar\u0131n. \u00d6rne\u011fin, <code>jdk-17_linux-x64_bin.tar.gz<\/code> dosyas\u0131n\u0131 indirdiyseniz:<\/p>\n<pre><code class=\"language-bash\">cd ~\/Downloads\n    tar -xzf jdk-17_linux-x64_bin.tar.gz<\/code><\/pre>\n<p>    Bu i\u015flem, <code>jdk-17.0.x<\/code> gibi bir dizin olu\u015fturacakt\u0131r.<\/p>\n<p>3.  <strong>JDK&#8217;y\u0131 <code>\/opt<\/code> Dizinine Ta\u015f\u0131ma:<\/strong><br \/>\n    Geleneksel olarak, manuel olarak kurulan yaz\u0131l\u0131mlar <code>\/opt<\/code> dizinine ta\u015f\u0131n\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo mv jdk-17.0.x \/opt\/oracle-java17<\/code><\/pre>\n<p>    <em>Dizin ad\u0131n\u0131 indirdi\u011finiz s\u00fcr\u00fcme g\u00f6re ayarlay\u0131n.<\/em><\/p>\n<p>4.  <strong><code>update-alternatives<\/code> ile Sisteme Entegrasyon:<\/strong><br \/>\n    Sistemin, yeni kurulan Oracle JDK&#8217;y\u0131 tan\u0131mas\u0131 ve <code>java<\/code>\/<code>javac<\/code> komutlar\u0131na se\u00e7enek olarak eklemesi i\u00e7in <code>update-alternatives<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --install \"\/usr\/bin\/java\" \"java\" \"\/opt\/oracle-java17\/bin\/java\" 1\n    sudo update-alternatives --install \"\/usr\/bin\/javac\" \"javac\" \"\/opt\/oracle-java17\/bin\/javac\" 1\n    sudo update-alternatives --install \"\/usr\/bin\/jps\" \"jps\" \"\/opt\/oracle-java17\/bin\/jps\" 1\n    # Di\u011fer gerekli ara\u00e7lar i\u00e7in de tekrarlay\u0131n (jar, javadoc vb.)<\/code><\/pre>\n<p>    <em>Son say\u0131 (1), bu alternatifin \u00f6nceli\u011fini belirtir. Daha y\u00fcksek bir say\u0131, daha y\u00fcksek bir \u00f6ncelik anlam\u0131na gelir.<\/em><\/p>\n<p>5.  <strong>Varsay\u0131lan Java S\u00fcr\u00fcm\u00fcn\u00fc Ayarlama:<\/strong><br \/>\n    \u015eimdi, <code>update-alternatives<\/code> komutunu kullanarak Oracle JDK&#8217;y\u0131 varsay\u0131lan olarak ayarlayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java\n    sudo update-alternatives --config javac<\/code><\/pre>\n<p>    Listeden Oracle JDK s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7in.<\/p>\n<p>6.  <strong><code>JAVA_HOME<\/code> Ortam De\u011fi\u015fkenini Ayarlama:<\/strong><br \/>\n    <code>JAVA_HOME<\/code> de\u011fi\u015fkenini <code>~\/.bashrc<\/code> dosyan\u0131za ekleyerek ayarlay\u0131n (\u00f6nceki b\u00f6l\u00fcmde anlat\u0131ld\u0131\u011f\u0131 gibi):<\/p>\n<pre><code class=\"language-bash\">nano ~\/.bashrc<\/code><\/pre>\n<p>    Dosyaya \u015fu sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-bash\">export JAVA_HOME=\"\/opt\/oracle-java17\"\n    export PATH=$PATH:$JAVA_HOME\/bin<\/code><\/pre>\n<p>    Kaydedin, kapat\u0131n ve de\u011fi\u015fiklikleri uygulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>7.  <strong>Kurulumu Do\u011frulama:<\/strong><\/p>\n<pre><code class=\"language-bash\">java -version\n    echo $JAVA_HOME<\/code><\/pre>\n<h3>PPA Kullanarak Kurulum<\/h3>\n<p>Baz\u0131 \u00fc\u00e7\u00fcnc\u00fc taraf PPA&#8217;lar (Personal Package Archive), Oracle JDK&#8217;n\u0131n kurulumunu otomatikle\u015ftirmeyi ama\u00e7lar. Ancak, Oracle&#8217;\u0131n lisanslama politikalar\u0131ndaki de\u011fi\u015fiklikler nedeniyle bu PPA&#8217;lar zaman zaman g\u00fcncel olmayabilir veya sorunlu \u00e7al\u0131\u015fabilir. Bu y\u00f6ntem, Oracle&#8217;\u0131n web sitesinden manuel indirme ad\u0131mlar\u0131n\u0131 atlaman\u0131za yard\u0131mc\u0131 olabilir, ancak ek bir risk fakt\u00f6r\u00fc ta\u015f\u0131r.<\/p>\n<p>\u00d6rnek olarak, <code>linuxuprising\/java<\/code> PPA&#8217;s\u0131n\u0131 kullanarak Oracle Java 17&#8217;yi kurma ad\u0131mlar\u0131:<\/p>\n<p>1.  <strong>PPA&#8217;y\u0131 Ekleme:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo add-apt-repository ppa:linuxuprising\/java\n    sudo apt update<\/code><\/pre>\n<p>2.  <strong>Oracle JDK&#8217;y\u0131 Kurma:<\/strong><br \/>\n    PPA&#8217;dan Oracle Java 17&#8217;yi kurmak i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt install oracle-java17-installer<\/code><\/pre>\n<p>    Kurulum s\u0131ras\u0131nda Oracle lisans anla\u015fmas\u0131n\u0131 kabul etmeniz istenecektir. Kabul etmezseniz kurulum devam etmez.<\/p>\n<p>3.  <strong>Varsay\u0131lan Java S\u00fcr\u00fcm\u00fcn\u00fc Ayarlama:<\/strong><br \/>\n    Kurulum tamamland\u0131ktan sonra, Oracle JDK otomatik olarak varsay\u0131lan olarak ayarlanmam\u0131\u015fsa, <code>update-alternatives<\/code> komutunu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --config java\n    sudo update-alternatives --config javac<\/code><\/pre>\n<p>    Listeden Oracle JDK s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7in.<\/p>\n<p>4.  <strong><code>JAVA_HOME<\/code> Ortam De\u011fi\u015fkenini Ayarlama:<\/strong><br \/>\n    PPA ile kurulan Oracle JDK&#8217;n\u0131n yolu genellikle <code>\/usr\/lib\/jvm\/java-17-oracle<\/code> gibi bir yerde bulunur. Bu yolu <code>~\/.bashrc<\/code> dosyan\u0131za ekleyerek <code>JAVA_HOME<\/code> de\u011fi\u015fkenini ayarlay\u0131n.<\/p>\n<pre><code class=\"language-bash\">nano ~\/.bashrc<\/code><\/pre>\n<p>    Dosyaya \u015fu sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-bash\">export JAVA_HOME=\"\/usr\/lib\/jvm\/java-17-oracle\"\n    export PATH=$PATH:$JAVA_HOME\/bin<\/code><\/pre>\n<p>    Kaydedin, kapat\u0131n ve de\u011fi\u015fiklikleri uygulay\u0131n:<\/p>\n<pre><code class=\"language-bash\">source ~\/.bashrc<\/code><\/pre>\n<p>5.  <strong>Kurulumu Do\u011frulama:<\/strong><\/p>\n<pre><code class=\"language-bash\">java -version\n    echo $JAVA_HOME<\/code><\/pre>\n<p><strong>\u00d6nemli Not:<\/strong> Oracle JDK&#8217;n\u0131n PPA&#8217;lar arac\u0131l\u0131\u011f\u0131yla kurulumu, Oracle&#8217;\u0131n lisanslama modelindeki de\u011fi\u015fiklikler nedeniyle zaman zaman sorunlu olabilir. \u00c7o\u011fu durumda, OpenJDK kullanmak daha g\u00fcvenli ve sorunsuz bir se\u00e7enektir. Yaln\u0131zca belirli bir gereksinim nedeniyle Oracle JDK&#8217;ya ihtiyac\u0131n\u0131z varsa bu y\u00f6ntemleri kullanmay\u0131 d\u00fc\u015f\u00fcn\u00fcn.<\/p>\n<h2>Java Uygulamas\u0131 Derleme ve \u00c7al\u0131\u015ft\u0131rma<\/h2>\n<p>Java geli\u015ftirme ortam\u0131n\u0131z\u0131n d\u00fczg\u00fcn \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in basit bir &#8220;Merhaba D\u00fcnya&#8221; uygulamas\u0131 derleyip \u00e7al\u0131\u015ft\u0131rmak iyi bir testtir.<\/p>\n<p>1.  <strong>Java Kaynak Kodu Olu\u015fturma:<\/strong><br \/>\n    Bir metin d\u00fczenleyici kullanarak <code>HelloWorld.java<\/code> ad\u0131nda bir dosya olu\u015fturun ve i\u00e7ine a\u015fa\u011f\u0131daki kodu yap\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-java\">\/\/ HelloWorld.java\n    public class HelloWorld {\n        public static void main(String[] args) {\n            System.out.println(\"Merhaba, Java!\");\n        }\n    }<\/code><\/pre>\n<p>2.  <strong>Kodu Kaydetme:<\/strong><br \/>\n    Dosyay\u0131 istedi\u011finiz bir dizine kaydedin, \u00f6rne\u011fin <code>~\/java-test<\/code>.<\/p>\n<p>3.  <strong>Uygulamay\u0131 Derleme:<\/strong><br \/>\n    Terminali a\u00e7\u0131n ve <code>HelloWorld.java<\/code> dosyas\u0131n\u0131 kaydetti\u011finiz dizine gidin. Ard\u0131ndan <code>javac<\/code> komutunu kullanarak kodu derleyin:<\/p>\n<pre><code class=\"language-bash\">cd ~\/java-test\n    javac HelloWorld.java<\/code><\/pre>\n<p>    E\u011fer herhangi bir hata mesaj\u0131 almazsan\u0131z, derleme ba\u015far\u0131l\u0131 olmu\u015ftur. Bu i\u015flem, <code>HelloWorld.class<\/code> ad\u0131nda bir bytecode dosyas\u0131 olu\u015fturacakt\u0131r.<\/p>\n<p>4.  <strong>Uygulamay\u0131 \u00c7al\u0131\u015ft\u0131rma:<\/strong><br \/>\n    Derlenmi\u015f Java uygulamas\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rmak i\u00e7in <code>java<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">java HelloWorld<\/code><\/pre>\n<p>    \u00c7\u0131kt\u0131 olarak <code>Merhaba, Java!<\/code> mesaj\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<pre><code class=\"language-\">Merhaba, Java!<\/code><\/pre>\n<p>Bu ad\u0131mlar, Java derleyicinizin (<code>javac<\/code>) ve Java Sanal Makinesi&#8217;nin (<code>java<\/code>) do\u011fru \u015fekilde yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131n\u0131 ve \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frular.<\/p>\n<h2>Java Kald\u0131rma<\/h2>\n<p>Art\u0131k bir Java s\u00fcr\u00fcm\u00fcne ihtiyac\u0131n\u0131z kalmad\u0131\u011f\u0131nda veya temiz bir kurulum yapmak istedi\u011finizde, y\u00fckl\u00fc Java paketlerini sisteminizden kald\u0131rabilirsiniz.<\/p>\n<h3>Belirli Bir Java S\u00fcr\u00fcm\u00fcn\u00fc Kald\u0131rma<\/h3>\n<p>E\u011fer belirli bir OpenJDK s\u00fcr\u00fcm\u00fcn\u00fc kald\u0131rmak istiyorsan\u0131z, <code>apt remove<\/code> komutunu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt remove openjdk-11-jdk\n<h2>Veya<\/h2>\nsudo apt remove openjdk-17-jdk\n<h2>Veya<\/h2>\nsudo apt remove openjdk-21-jdk<\/code><\/pre>\n<p>JRE s\u00fcr\u00fcm\u00fcn\u00fc kald\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt remove openjdk-11-jre<\/code><\/pre>\n<h3>T\u00fcm Java Paketlerini Kald\u0131rma<\/h3>\n<p>Sisteminizdeki t\u00fcm varsay\u0131lan Java JDK ve JRE paketlerini kald\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo apt remove --purge default-jdk default-jre openjdk-*<\/code><\/pre>\n<p><code>--purge<\/code> bayra\u011f\u0131, paketlerle birlikte yap\u0131land\u0131rma dosyalar\u0131n\u0131 da kald\u0131r\u0131r. <code>openjdk-*<\/code> ise <code>openjdk-<\/code> ile ba\u015flayan t\u00fcm paketleri hedef al\u0131r.<\/p>\n<p>Oracle JDK&#8217;y\u0131 PPA arac\u0131l\u0131\u011f\u0131yla kurduysan\u0131z, onu da kald\u0131rabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt remove --purge oracle-java17-installer<\/code><\/pre>\n<p>Ard\u0131ndan PPA&#8217;y\u0131 sisteminizden kald\u0131r\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo add-apt-repository --remove ppa:linuxuprising\/java\nsudo apt update<\/code><\/pre>\n<p>Manuel olarak kurdu\u011funuz Oracle JDK&#8217;y\u0131 kald\u0131rmak i\u00e7in, <code>\/opt<\/code> dizininden ilgili klas\u00f6r\u00fc silmeniz yeterlidir:<\/p>\n<pre><code class=\"language-bash\">sudo rm -rf \/opt\/oracle-java17<\/code><\/pre>\n<p>Ve <code>update-alternatives<\/code> girdilerini kald\u0131rmay\u0131 unutmay\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo update-alternatives --remove \"java\" \"\/opt\/oracle-java17\/bin\/java\"\nsudo update-alternatives --remove \"javac\" \"\/opt\/oracle-java17\/bin\/javac\"\n<h2>Di\u011fer ekledi\u011finiz t\u00fcm alternatifler i\u00e7in tekrarlay\u0131n<\/code><\/pre>\n<\/h2>\n<h3>Ba\u011f\u0131ml\u0131l\u0131klar\u0131 Temizleme<\/h3>\n<p>Java paketlerini kald\u0131rd\u0131ktan sonra, art\u0131k gerekli olmayan ba\u011f\u0131ml\u0131l\u0131klar\u0131 temizlemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo apt autoremove<\/code><\/pre>\n<p>Bu komut, kald\u0131r\u0131lan paketlerle birlikte y\u00fcklenen ve art\u0131k ba\u015fka hi\u00e7bir paket taraf\u0131ndan kullan\u0131lmayan ba\u011f\u0131ml\u0131l\u0131klar\u0131 sisteminizden kald\u0131r\u0131r.<\/p>\n<h3>Ortam De\u011fi\u015fkenlerini Temizleme<\/h3>\n<p><code>JAVA_HOME<\/code> ve <code>PATH<\/code> ayarlar\u0131n\u0131 <code>~\/.bashrc<\/code> (veya <code>~\/.profile<\/code>, <code>\/etc\/environment<\/code>) dosyan\u0131zdan kald\u0131rmay\u0131 unutmay\u0131n, aksi takdirde kald\u0131r\u0131lan bir Java s\u00fcr\u00fcm\u00fcne i\u015faret etmeye devam edebilirler.<\/p>\n<h2>Sorun Giderme ve Yayg\u0131n Hatalar<\/h2>\n<p>Java kurulumu s\u0131ras\u0131nda veya sonras\u0131nda kar\u015f\u0131la\u015fabilece\u011finiz baz\u0131 yayg\u0131n sorunlar ve \u00e7\u00f6z\u00fcmleri a\u015fa\u011f\u0131dad\u0131r.<\/p>\n<h3><code>java: command not found<\/code> veya <code>javac: command not found<\/code><\/h3>\n<p>Bu hata, sisteminizin <code>java<\/code> veya <code>javac<\/code> komutlar\u0131n\u0131 bulamad\u0131\u011f\u0131 anlam\u0131na gelir.<\/p>\n<p>*   <strong>\u00c7\u00f6z\u00fcm 1: Kurulumu Kontrol Edin:<\/strong> Java&#8217;n\u0131n do\u011fru bir \u015fekilde y\u00fcklendi\u011finden emin olun. <code>sudo apt install default-jdk<\/code> komutunu tekrar \u00e7al\u0131\u015ft\u0131rmay\u0131 deneyin.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm 2: PATH De\u011fi\u015fkenini Kontrol Edin:<\/strong> <code>java<\/code> ve <code>javac<\/code> komutlar\u0131n\u0131n bulundu\u011fu dizinin (genellikle <code>$JAVA_HOME\/bin<\/code>) sisteminizin <code>PATH<\/code> de\u011fi\u015fkeninde oldu\u011fundan emin olun. <code>echo $PATH<\/code> komutunu \u00e7al\u0131\u015ft\u0131r\u0131n ve \u00e7\u0131kt\u0131da Java&#8217;n\u0131n <code>bin<\/code> dizininin olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. E\u011fer yoksa, <code>JAVA_HOME<\/code> ve <code>PATH<\/code> ayarlar\u0131n\u0131z\u0131 <code>~\/.bashrc<\/code> dosyan\u0131zda do\u011fru yapt\u0131\u011f\u0131n\u0131zdan ve <code>source ~\/.bashrc<\/code> ile uygulad\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm 3: <code>update-alternatives<\/code> Kontrol\u00fc:<\/strong> <code>sudo update-alternatives --config java<\/code> ve <code>sudo update-alternatives --config javac<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak ge\u00e7erli bir Java s\u00fcr\u00fcm\u00fcn\u00fcn se\u00e7ili oldu\u011fundan emin olun.<\/p>\n<h3>Yanl\u0131\u015f Java S\u00fcr\u00fcm\u00fcn\u00fcn \u00c7al\u0131\u015fmas\u0131<\/h3>\n<p>Birden fazla Java s\u00fcr\u00fcm\u00fc y\u00fckl\u00fcyse ve <code>java -version<\/code> komutu bekledi\u011finiz s\u00fcr\u00fcm\u00fc g\u00f6stermiyorsa:<\/p>\n<p>*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> <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. Ard\u0131ndan <code>source ~\/.bashrc<\/code> ile ortam de\u011fi\u015fkenlerini yeniden y\u00fckleyin.<\/p>\n<h3><code>JAVA_HOME<\/code> Ayar\u0131n\u0131n Do\u011fru Olmamas\u0131<\/h3>\n<p>Baz\u0131 uygulamalar <code>JAVA_HOME<\/code> de\u011fi\u015fkenini yanl\u0131\u015f okuyorsa veya bulam\u0131yorsa:<\/p>\n<p>*   <strong>\u00c7\u00f6z\u00fcm 1: Yol Do\u011frulu\u011fu:<\/strong> <code>echo $JAVA_HOME<\/code> \u00e7\u0131kt\u0131s\u0131n\u0131n, y\u00fckl\u00fc Java JDK&#8217;s\u0131n\u0131n k\u00f6k dizinine (\u00f6rne\u011fin, <code>\/usr\/lib\/jvm\/java-17-openjdk-amd64<\/code>) do\u011fru bir \u015fekilde i\u015faret etti\u011finden emin olun. Yolda herhangi bir <code>\/bin<\/code> k\u0131sm\u0131 olmamal\u0131d\u0131r.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm 2: Kal\u0131c\u0131l\u0131k:<\/strong> <code>JAVA_HOME<\/code> ayar\u0131n\u0131n <code>~\/.bashrc<\/code> veya <code>\/etc\/environment<\/code> gibi kal\u0131c\u0131 bir dosyada yap\u0131ld\u0131\u011f\u0131ndan ve oturum a\u00e7\u0131ld\u0131\u011f\u0131nda veya <code>source<\/code> edildi\u011finde y\u00fcklendi\u011finden emin olun.<\/p>\n<h3>Lisans Sorunlar\u0131 (Oracle JDK i\u00e7in)<\/h3>\n<p>Oracle JDK kullan\u0131rken lisans uyar\u0131lar\u0131 veya k\u0131s\u0131tlamalar\u0131yla kar\u015f\u0131la\u015f\u0131rsan\u0131z:<\/p>\n<p>*   <strong>\u00c7\u00f6z\u00fcm:<\/strong> \u00dcretim ortamlar\u0131nda veya ticari kullan\u0131mlarda Oracle JDK&#8217;n\u0131n lisanslama ko\u015fullar\u0131n\u0131 dikkatlice inceleyin. \u00c7o\u011fu durumda, lisans sorunlar\u0131ndan ka\u00e7\u0131nmak i\u00e7in OpenJDK&#8217;ya ge\u00e7mek daha iyi bir \u00e7\u00f6z\u00fcmd\u00fcr.<\/p>\n<h3>Paket Y\u00f6neticisi Hatalar\u0131 (<code>apt<\/code>)<\/h3>\n<p><code>apt<\/code> komutlar\u0131 \u00e7al\u0131\u015f\u0131rken <code>Unable to locate package<\/code> veya <code>E: Could not get lock<\/code> gibi hatalar al\u0131yorsan\u0131z:<\/p>\n<p>*   <strong>\u00c7\u00f6z\u00fcm 1: Yaz\u0131m Hatas\u0131:<\/strong> Paket ad\u0131n\u0131 do\u011fru yazd\u0131\u011f\u0131n\u0131zdan emin olun.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm 2: Depolar\u0131 G\u00fcncelleme:<\/strong> <code>sudo apt update<\/code> komutunu \u00e7al\u0131\u015ft\u0131rarak paket listesini g\u00fcncelleyin.<br \/>\n*   <strong>\u00c7\u00f6z\u00fcm 3: Kilit Dosyalar\u0131n\u0131 Temizleme:<\/strong> E\u011fer <code>E: Could not get lock<\/code> hatas\u0131 al\u0131yorsan\u0131z, ba\u015fka bir <code>apt<\/code> i\u015flemi arka planda \u00e7al\u0131\u015f\u0131yor olabilir. <code>sudo rm \/var\/lib\/dpkg\/lock-frontend<\/code> ve <code>sudo rm \/var\/lib\/apt\/lists\/lock<\/code> komutlar\u0131n\u0131 kullanarak kilit dosyalar\u0131n\u0131 temizleyebilir, ancak bunu sadece ba\u015fka bir <code>apt<\/code> i\u015fleminin \u00e7al\u0131\u015fmad\u0131\u011f\u0131ndan eminseniz yapmal\u0131s\u0131n\u0131z.<\/p>\n<h2>Sonu\u00e7<\/h2>\n<p>Bu makalede, Ubuntu 20.04 i\u015fletim sistemi \u00fczerinde Java&#8217;y\u0131 <code>apt<\/code> paket y\u00f6neticisi arac\u0131l\u0131\u011f\u0131yla nas\u0131l kuraca\u011f\u0131n\u0131z\u0131, y\u00f6netece\u011finizi ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ayr\u0131nt\u0131l\u0131 olarak ele ald\u0131k. Java&#8217;n\u0131n platform ba\u011f\u0131ms\u0131zl\u0131\u011f\u0131 ve geni\u015f kullan\u0131m alan\u0131, onu modern yaz\u0131l\u0131m geli\u015ftirmede vazge\u00e7ilmez bir ara\u00e7 haline getirmektedir. Ubuntu&#8217;nun kararl\u0131l\u0131\u011f\u0131 ve <code>apt<\/code>&#8216;nin kullan\u0131m kolayl\u0131\u011f\u0131, Java geli\u015ftirme ortam\u0131n\u0131z\u0131 h\u0131zl\u0131 ve g\u00fcvenilir bir \u015fekilde kurman\u0131z i\u00e7in ideal bir kombinasyon sunar.<\/p>\n<p>\u00d6zetle, a\u015fa\u011f\u0131daki temel ad\u0131mlar\u0131 izledik:<\/p>\n<p>*   <strong>OpenJDK Tercihi:<\/strong> A\u00e7\u0131k kaynakl\u0131 ve \u00fccretsiz olmas\u0131 nedeniyle \u00e7o\u011fu senaryo i\u00e7in OpenJDK&#8217;n\u0131n tercih edilmesi gerekti\u011fini vurgulad\u0131k. LTS (Long Term Support) s\u00fcr\u00fcmlerinin (Java 11, 17, 21) kararl\u0131l\u0131k ve uzun s\u00fcreli destek a\u00e7\u0131s\u0131ndan \u00f6nemini belirttik.<br \/>\n*   <strong>Kurulum Kolayl\u0131\u011f\u0131:<\/strong> <code>sudo apt install default-jdk<\/code> veya belirli bir s\u00fcr\u00fcm i\u00e7in <code>sudo apt install openjdk-17-jdk<\/code> gibi basit komutlarla Java&#8217;n\u0131n h\u0131zl\u0131ca kurulabilece\u011fini g\u00f6sterdik.<br \/>\n*   <strong>S\u00fcr\u00fcm Y\u00f6netimi:<\/strong> Sisteminizde birden fazla Java s\u00fcr\u00fcm\u00fc y\u00fckl\u00fcyse, <code>sudo update-alternatives --config java<\/code> komutunun varsay\u0131lan Java s\u00fcr\u00fcm\u00fcn\u00fc se\u00e7mek i\u00e7in kritik bir ara\u00e7 oldu\u011funu \u00f6\u011frendik.<br \/>\n*   <strong>Ortam De\u011fi\u015fkenleri:<\/strong> Baz\u0131 uygulamalar i\u00e7in gerekli olan <code>JAVA_HOME<\/code> ortam de\u011fi\u015fkeninin nas\u0131l ayarlanaca\u011f\u0131n\u0131 ve <code>PATH<\/code> de\u011fi\u015fkenine Java&#8217;n\u0131n <code>bin<\/code> dizininin nas\u0131l eklenece\u011fini detayland\u0131rd\u0131k.<br \/>\n*   <strong>Oracle JDK:<\/strong> \u0130ste\u011fe ba\u011fl\u0131 olarak Oracle JDK&#8217;n\u0131n manuel veya PPA arac\u0131l\u0131\u011f\u0131yla kurulum y\u00f6ntemlerini ele ald\u0131k, ancak lisanslama karma\u015f\u0131kl\u0131klar\u0131 nedeniyle OpenJDK&#8217;n\u0131n genellikle daha iyi bir se\u00e7enek oldu\u011funu belirttik.<br \/>\n*   <strong>Temel Test:<\/strong> Basit bir &#8220;Merhaba D\u00fcnya&#8221; uygulamas\u0131 derleyip \u00e7al\u0131\u015ft\u0131rarak Java ortam\u0131n\u0131n i\u015flevselli\u011fini do\u011frulad\u0131k.<br \/>\n*   <strong>Kald\u0131rma ve Sorun Giderme:<\/strong> \u0130htiya\u00e7 duyulmayan Java s\u00fcr\u00fcmlerini kald\u0131rma ve yayg\u0131n kurulum sorunlar\u0131n\u0131 \u00e7\u00f6zme y\u00f6ntemlerini sunduk.<\/p>\n<p>Art\u0131k Ubuntu 20.04 sisteminizde eksiksiz ve i\u015flevsel bir Java geli\u015ftirme ortam\u0131na sahipsiniz. Bu bilgi birikimiyle, Java tabanl\u0131 uygulamalar geli\u015ftirmeye, mevcut projelerde \u00e7al\u0131\u015fmaya veya Java ekosistemini ke\u015ffetmeye ba\u015flayabilirsiniz. Ba\u015far\u0131l\u0131 ve keyifli kodlamalar dileriz!<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur\nGiri\u015f\nJava, 1995 y\u0131l\u0131nda Sun Microsystems taraf\u0131ndan geli\u015ftirilen ve g\u00fcn\u00fcm\u00fczde Oracle Corp","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-38079","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 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur - 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\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur Giri\u015f Java, 1995 y\u0131l\u0131nda Sun Microsystems taraf\u0131ndan geli\u015ftirilen ve g\u00fcn\u00fcm\u00fczde Oracle Corp\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-22T19:40:57+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=\"23 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur\",\"datePublished\":\"2026-01-22T19:40:57+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\"},\"wordCount\":3889,\"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\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#respond\"]}],\"copyrightYear\":\"2026\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\",\"name\":\"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2026-01-22T19:40:57+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur\"}]},{\"@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 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur - 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\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur","og_description":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur Giri\u015f Java, 1995 y\u0131l\u0131nda Sun Microsystems taraf\u0131ndan geli\u015ftirilen ve g\u00fcn\u00fcm\u00fczde Oracle Corp","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2026-01-22T19:40:57+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"23 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur","datePublished":"2026-01-22T19:40:57+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/"},"wordCount":3889,"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\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#respond"]}],"copyrightYear":"2026","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/","name":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2026-01-22T19:40:57+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerine-apt-ile-java-nasil-kurulur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 20.04 \u00dczerine Apt ile Java Nas\u0131l Kurulur"}]},{"@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\/38079","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=38079"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38079\/revisions"}],"predecessor-version":[{"id":38080,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/38079\/revisions\/38080"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=38079"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=38079"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=38079"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}