3 Nisan 2011 Pazar

Maven3 (Proje yönetim aracı)-1: Giriş ve Kurulum

Merhabalar. Bu yazımızda piyasada çok kullanılan bir proje yönetim aracı olan Maven’ı işliyoruz.

Maven bir proje yönetim aracıdır. “Ben projelerimi zaten kendim (ya da IDE’m vasıtasıyla) yönetebiliyorum. Bunun için bir araca ne gerek var?”, demeyin. Bu yazı dizisi çaylak Javacılara hitap ettiği için muhtemelen projeleriniz Maven kullanmanızı gerektirecek büyüklükte değildir. Kurumsal projeler ise bazen o kadar büyük olabiliyor ki, Maven gibi araçlara ihtiyaç duyulabiliyor.

Maven ne yapar?

Maven en başta projeleriniz (tipine göre) için bir standart dizin yapısı tanımlar. Bu sayede, örneğin siz Netbeans’te çalışıyorken Netbeans’in oluşturduğu dizin yapısı ile arkadaşınız Eclipse’de çalışıyorken Eclipse’in oluşturduğu dizin yapısı veya bunların kullandığı özel ayarlar yüzünden projelerin taşınabilirliğinin olmamasının önüne geçer.

Kurumsal Java projeleri o kadar büyük olabilir ki, bazen 100’lerce 3. Parti kütüphane jar’ı kullanmanız gerekebilir. Bu jarları internetten birbirleriyle uygun sürümlerine göre indirip IDE’nizde kütüphaneleri koyduğu yere koymanız, sonra ayrı ayrı javadoc ve kaynak kodlarını ayarlamanız ve bunları proje üzerinde geliştirme yapan herkesin standart bir şekilde uygulaması angarya olur. Öyle ki projeyi geliştirmekten çok yönetimine kafa patlatırsınız. Maven buna da çözüm getirir. Maven’ın yaklaşık 200 GB büyüklüğünde çevrimiçi bir deposu vardır. Siz Maven’a projenizde hangi kütüphaneyi kullanmak istediğinizi söylersiniz, o da bu depodan jarları indirip sizin yerel deponuza kaydeder ve projenin classpath’ını bu jarları da dâhil edecek şekilde değiştirir.

Maven projenin yönetimi için standart bir yaşam döngüsü tanımlar: Temizle-Derle-Test Et-Çalıştır-Yayınla… gibi. Siz çeşitli eklentilerle (plugin) bu döngüye müdahale edebilir, projenizin gerekliliklerine göre değiştirebilirsiniz. Maven’ın çekirdeği aslında çok basittir. Çekirdek sadece gerekli jarları internetten nasıl indireceğini ve XML dosyalarıyla yapılan ayarların nasıl uygulanacağını bilir. Bu yüzden çok hafiftir (lightweight). Eklentilerle Maven’ı ayarlamak size kalır.

Maven projeler için kendi modelini tanımlar. Projenin ayar dosyasına girdiğiniz verileri (tanım, geliştiriciler, lisans, bağımlı olduğu diğer projeler v.s.) çok çeşitli işlerde kullanabilir. Bu açıklamaları kullanarak tek bir komutla projeye özel bir web sitesi bile oluşturabilir.

Kurulum

Maven 3’ü http://maven.apache.org/download.html adresinden indirebilirsiniz. Kurulumunu sadece Windows’a göre anlatacağım. Çünkü zaten diğer işletim sistemlerini kullananlar biraz sonra anlatacağım ayarları kendi sitemlerinde nasıl yapacakları biliyorlardır.

İndirdiğiniz sıkıştırılmış dosyayı C:\ dizinine açın. Bu dizinde şuna benzer bir klasör oluşmalı: C:\apache-maven-3.0.3

Bilgisayarıma sağ tıklayıp Özellikler’e tıklayın (ya da Denetim Masası’ndan Sistem’i açın). Gelişmiş sekmesinde Çevre değişkenlerine (environment variables) tıklayın. Sistem değişkenleri (system variables) altında Yeni’ye tıklayın. Değişken adına: M2_HOME , değerine de C:\apache-maven-3.0.3 girin, Tamam’a tıklayın.

Aynı pencerede tekrar Yeni’ye basın. Bu sefer değişken adına M2 değerine de %M2_HOME%\bin girin.

Yine aynı pencerede Path değişkenine tıklayıp, düzenle’yi seçin. Değer kısmının en sonunda ; yoksa ekleyin, sonra da %M2% ‘ yi ekleyin.

Yine ayrı pencerede JAVA_HOME değişkeni yoksa ekleyin ve değerine JDK’nın bulunduğu dizinin yolunu verin. Örneğin C:\Program Files\Java\jdk1.6.0_24

Sonra Path değişkenine üstteki gibi %JAVA_HOME% ‘yi ekleyin.

Windows+R tuşlarına basıp cmd ‘yi çalıştırın. Komut satırından mvn –v ‘yi çalıştırarak kurulumunuzu sınayın.

Kurulum Ayrıntıları

Maven’ın yalın 3.0.3 sürümü yaklaşık 2.9 MB boyutunda. Bu kadar küçük olmasının nedeni, gerektiğinde ihtiyacı olduğu eklentileri kendi deposundan indirebiliyor olmasıdır.

Maven kurulum dizini şu dosya ve klasörleri içerir:

LICENSE.txt 
NOTICE.txt 
README.txt 
bin/ 
boot/ 
conf/ 
lib/ 

Bunlardan, bin/ içinde Maven’ı çalıştıran mvn komut kümesi (batch)’i barındırır. boot/ içinde Maven’ın çalıştırıldığı bir Sınıf Yükleyici (Class Loader)’yi oluşturan plexus-classworlds-2.4.jar dosyası vardır. conf/ klasöründe Maven’ın global ayarlarını bulunduran settings.xml’i barındırır. lib/ içinde de Maven çekirdeğini oluşturan maven-core-3.0.3.jar dosyası bulunur.

Yerel Maven Deposu ve Ayarları

Maven’ı projelerinizde ilk kullanmaya başladığınızda, işletim sisteminizin kullanıcı dizininde (Win XP: C:\Documents and Settings\Foobar\.m2 ya da Linux: /home/foobar ya da genel adıyla ~/) .m2 adında bir klasör oluşturur. Bu klasör sizin yerel ayarlarınızın ve kütüphane (jar) deponuzun (repository) bulunduğu dizindir. Bu dizinde iki tane girdi olacaktır:

~/.m2/settings.xml : Kullanıcıya özel Maven ayarlarının bulunduğu dosya.

~/.m2/repository: Yerel Maven deposu. İnternetten indirilen jarlar buraya konulur.

Eğer Maven’ın ayarlarını değiştirmek isterseniz ~/.m2/settings.xml dosyasında değişiklik yapmanız daha doğru olacaktır.


Devamı gelecek…

2 yorum: