Java Kurulumu ve İlk Ayarları – II: Java Kurulumu ve İlk Ayarlar

Bir önceki yazımızda platformlardan ve Java ile ilişkilerinden bahsetmiştik. Bu yazıda Java kurulumu ve yapılması gereken ayarları ele alacağız.

Java Kurulumunu İndirmek

Oracle JDK

Bir makinaya JDK ya da JRE kurmak istiyorsak, aşağıdaki Oracle’ın Java resmi sayfasına gidip, oradaki platformunuza uygun kurulumu indirmeniz gereklidir.

http://www.oracle.com/technetwork/java/index.html

Gerçi ben hala bu sayfayı ezberleyemedim ya da daha doğrusu zihnim onu henüz http://java.sun.com yerine koyamadı ve ben hala bu adresi kullanıyorum  😀

Java’nın resmi sayfasında, sağ üst köşede bulunan “Top Downloads”ın altındaki “Java SE” linkini tıklayarak “Java SE Downloads” sayfasına gidilir. Bu sayfada en yukarıda Java’nın en son sürümünün JDK, JRE ve Server JRE kurulumlarını indirmek için gerekli düğmeler vardır. Biz geliştirici olarak JDK’yı indireceğiz, dolayısıyla JDK düğmesini tıklayacağız.

Gelinen sayfada JDK kurulumları için indirme linklerinin bir listesi vardır:

  • Solaris Unix
  • Linux (rpm ve tar olarak)
  • Mac OS ve Windows

Lisans sözleşmesini kabul edip, platformunuza uyan linki tıklayarak JDK’yı makinanıza indirebilirsiniz.

Eğer bu sayfada platformunuza uyan bir JDK kurulumu yok ise, platformunuzun üreticisi olan şirketin sağladığı JDK’i bulup indirmeniz gereklidir. Örneğin IBM’in AIX ya da z/OS platformları için JDK kurulumları IBM’in ilgili sayfalarında bulunabilir:

https://www.ibm.com/developerworks/java/jdk/

Open JDK

Open JDK pek çok Linux paketi için açık kaynak kodlu bir JDK’dır ve aşağıdaki linkten ulaşılabilinir: 

http://openjdk.java.net/

2006’da Sun’ın bağışladığı kod tabanıyla (code base) ile oluşturulmuş bir JDK gerçekleştirmesidir. Oracle ve pek çok farklı şirketin JDK’sı, Open JDK üzerine kurulmuştur.  Linux için Oracle’ın JDK’sı yanında Open JDK da kurulabilir.

JDK’yı Kurmak

Windows ve Mac OS

Windows ve Mac OS için indirilen JDK, varsayılan ayarlarla, “next/continue” vb. tıklamalarla, kurulur.

Eğer JDK’in sürümü 1.8.0.144 ise JDK’in patikası Windows için

C:\Program Files\Java\jdk1.8.0_144

  • Mac OS için

/Library/Java/JavaVirtualMachines/jdk1.8.0_144

  olacaktır.

Linux

Ubuntu için Open JDK kurmak için terminalde şu komutu girmeniz yeterlidir:

sudo apt-get install openjdk-8-jdk

Ubuntu JDK’yı /usr/lib/jvm patikasına kurar. Dolayısıyla JDK’in tam patikası şöyle olur:

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

Ubuntu’da kurulumla javac ve java komutları /usr/bin/javac ve /usr/bin/java ile eşleştirilmiştir. Dolayısıyla “javac -version” ve “java -version” çalışır haldedir.

İsterseniz Ubuntu’ya Oracle JDK’yı da kurabilirsiniz. Bunun için Oracle’ın JDK indirme listesinin bulunduğu yerden örneğin jdk-8u144-linux-x64.tar.gz dosyasını indirip açtıktan sonra oluşan jdk1.8.0_144 dosyasını istediğiniz yere, mesela /usr/local/java dizinine, koyabilirsiniz.

JDK’nın Dizin yapısı

Platformdan bağımsız olarak JDK kurulumundan sonra JDK patikasında şu dosyalar ve dizinlerin olduğu görülebilir:

  • src.zip: Java kütüphanelerinin kaynak kodudur.
  • bin: javac gibi çalıştırılabilir (executable) komutlar vardır.
  • lib: İçinde bazı jar (Java’nın arşiv formatı) dosyaları vardır.
    • jre: İçinde JRE vardır. Burada da şu iki dizin bulunur:
      • bin: java gibi çalıştırılabilir (executable) komutlar vardır.
      • lib: rt.jar gibi Java kütüphanelerinin ve diğer bazı araçların arşiv dosyaları ve diğerleri vardır.

 

Java Ayarları

JDK kurulduğunda yapılacak en temel iki şey, JAVA_HOME ortam değişkenini (environment variable) tanımlamak ve PATH ortam değişkenine gerekli eklemeyi yapmaktır.

JAVA_HOME

JDK’in patikasına JAVA_HOME denir ve bu ayarla JDK kurulumunun yeri ifade edilir. Bazı Java yazılımları, örneğin Tomcat, JAVA_HOME ile Java’ya ulaşırlar. Dolayısıyla JAVA_HOME bir ortam değişkeni olarak tanımlanmazsa ileride problem olabilir.

Windows

JAVA_HOME Windows’da Ortam Değişkenleri (Environmental Variables) ile tanımlanır. Örneğin Gelişmiş Sistem Ayarları (Advanced System Settings) => Ortam Değişkenleri (Environment Variables) sayfasında Yeni (New) tıklanarak açılan pencerede değişken adı olarak JAVA_HOME, değişken değeri olarak da JDK’nın patikası, örneğin “C:\Program Files\Java\jdk1.8.0_144” girilir. Bu değişikliği uyguladıktan sonra açılan komut satırında “javac -version” ve “java -version” komutları doğru sonucu verecektir. Komut satırı zaten açık ise, değişikliğin etkisini görmek için kapatılıp yenisinin açılması gereklidir. Ayrıca komut satırında “set JAVA_HOME” komutu da size JAVA_HOME değişkeninin değerini verecektir.

Mac OS

Mac OS’da JAVA_HOME için kullanıcı dizinindeki “.bash_profile” dosyasında aşağıdaki gibi tanım yapılması gereklidir:

export JAVA_HOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_144/Contents/Home

JDK patikası için, “/Contents/Home” eklemeyi unutmayın.

Bu değişikliği uyguladıktan sonra açılan terminalde “javac -version” ve “java -version” komutları doğru sonucu verecektir. Terminal zaten açık ise, değişikliğin etkisi için kapatılıp yenisinin açılması ya da terminalde “source ~/.bash_profile” çalıştırılması gereklidir. Benzer şekilde terminalde “echo $JAVA_HOME” komutu da size JAVA_HOME değişkeninin değerini verecektir.

Mac OS’da “/usr/bin/javac” ve “/usr/bin/java” komutları “javac” ve “java” komutlarıyla eşleştirilmiştir. Benzer şekilde “/usr/libexec/java_home” komutu da JAVA_HOME değişkeniyle eşleştirilmiştir. Ayrıca “/usr/libexec/java_home -V” komutu size sistemde kurulu tüm JDK ve JRE’leri listeler. /usr/libexec/java_home -X” komutu da sistemde kurulu X sürümlü JDK ve JRE’leri listeler.

echo export “JAVA_HOME=\$(/usr/libexec/java_home -v X) >> ~/.bash_profile” komutu da X sürümlü JDK kurulumunun patikasını JAVA_HOME olarak atayacaktır:

echo export “JAVA_HOME=\$(/usr/libexec/java_home -v 1.8) >> ~/.bash_profile

Linux

Ubuntu’da JAVA_HOME değişkenini tanımlamak için /etc/profile dosyasına aşağıdaki satırı yazmanız gereklidir:

export JAVA_HOME=“/usr/lib/jvm/java-1.8.0-openjdk-amd64”

Terminal zaten açık ise, değişikliğin etkisi için kapatılıp yenisinin açılması ya da terminalde /etc dizininkeyken “source profile” çalıştırılması gereklidir.

PATH

Yapılacak diğer şey ise işletim sistemlerinde çalıştırılabilir program ve komutlara ulaşımı kolaylaştırmak amacıya tanımlanmış PATH ortam değişkenine JDK’in bin dizinini eklemektir. Aksi taktirde JDK’in bin dizinindeki çalıştırılabilir komutlara ulaşılamayacaktır. Örneğin Windows ve Mac OS’da JDK sürümü için kullanılan “javac -version” da, JRE sürümü için kullanılan “java -version” de “komut bulunamadı” hatası verecektir. Dolayısıyla JDK’in bin dizini PATH ortam değişkenine eklenmelidir ki javac vb. komutlara komut satırından ulaşılabilsin.

Windows

Windows’da Gelişmiş Sistem Ayarları (Advanced System Settings) => Ortam Değişkenleri (Environment Variables) sayfasında PATH değişkenin değerine “C:\Program Files\Java\jdk1.8.0_144\bin” eklenir. Windows’da PATH değişkenindeki değerler arasın “;” koymayı unutmayın. Eğer PATH değişkeni tanımlı değilse, Yeni (New) tıklanarak açılan pencerede PATH değişkeni ve değeri tanımlanır.

Mac OS

Mac OS’da PATH için kullanıcı dizinindeki “.bash_profile” dosyasında aşağıdaki gibi tanım yapılması gereklidir:

export PATH = $PATH:/Library/Java/JavaVirtualMachines/jdk1.8.0_144/Contents/Home/bin

Zaten tanımlı bir PATH varsa JDK’nın bin dizinini sonuna ekleyin. Mac OS’da PATH’in değerlerinin arasına “:” koymayı unutmayın.

Linux

Ubuntu’da JDK kurulumuyla javac ve java gibi pek çok komut /usr/bin/ dizinde tanımlanmış ve /etc/alternatives dizinindeki linkler üzerinden JDK’in bin dizinindeki çalıştırılabilir komutlarla eşleştirilmiştir. Ubuntu’da /usr/bin/ dizini zaten PATH’dedir. Dolayısıyla Ubuntu’da PATH ayarı yapmanıza gerek yoktur. Fakat yine de Ubuntu’da PATH ayarı yapmak isterseniz /etc/profile dosyasına aşağıdaki satırı yazmanız gereklidir:

export PATH=$PATH:“/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin”

PATH’in değerlerinin arasına “:” koymayı unutmayın. Terminal zaten açık ise, değişikliğin etkisi için kapatılıp yenisinin açılması ya da terminalde /etc dizininkeyken “source profile” çalıştırılması gereklidir.

Toplam görüntülenme sayısı: 3063