Anasayfa » Java ve Java Teknolojileri

Maven Nedir? Pom Nedir? Nasıl Kullanılır? Örnek Uygulama

15 Temmuz 2012 26.399 kez okundu 5 yorum
1 Star2 Stars3 Stars4 Stars5 Stars (4 oy,5 üzerinden : 5,00 )
Loading...

Merhaba arkadaşlar, bu yazımızda apache maven teknolojisinde bahsedeceğim. Maven nedir, ne değildir, nasıl kullanılır, faydaları nelerdir… ve son olarak ta örnek bir uygulama yapacağız.

Apache Maven Nedir?

Maven, geliştirilen java projelerinin geliştirme süreçlerini basitleştirmek, standartlaştırmak, dökümantasyon hazırlamak, kütüphane bağımlılıklarını kullanıcı zahmetinden kurtarmak  için kullanılan bir araçtır.

Yani ne demek istiyorum? Maven ile hemen hemen bütün java projelerinin iskeleti oluşturulabilir. Bu iskelet standartlaştığı için, siz oluşturduğunuz projeyi geliştirme ortamınızdan bağımsız olarak geliştirirsiniz. Proje iskeleti standart olduğu için java projenizi ister eclipse ile ister netbeans ile isterseniz başka ide lerle geliştirebilirsiniz. Bu sayede geliştirme süreçlerini basite indirgemektir.

Ayrıca java projeleriyle uğraşırken başımızı ağrıtan jar kütüphaneleriyle kesinlikle haşır neşir olmazsınız. Maven kütüphane ihtiyaçlarını tamamen üstlenerek sizin için bütün kütüphaneleri hazırlar.

Bu açıklamaları örneklendirecek olursak, siz maven çatısında bir java projesi başlatıığınızda bu projeye eclipse üzerinde devam edebilir yada bırakıp netbeans e geçebilirsiniz. Çünkü projenizin yapısı standart olduğu için bu ide  ler tarafından projeniz rahatlıkla tanınacaktır.

Bir java projesi oluşturuyorsunuz ve bazı jar kütüphanelerine ihtiyacınız var maven bu kütüphaneleri kendi repository sinden indirerek projeye dahil ediyor. Eğer bu kütüphanelerin bağlı olduğu başka kütüphanelerde var ise onları da bulup getiriyor. Yani siz hiç bir şekilde kütüphanelere elinizi sürmüyorsunuz.

Kurulum

Maven kurulumu için buradan son sürümünü indirin. İndirdiğiniz sıkıştırılmış dosyayı açın.

İçinde çıkan dosyaları herhangi bir dizin altına koyun. Ben C:\Program Files\maven-3.0.4 dizinini tercih ediyorum. Şimdi bazı ortam değişkenleri ekleyeceğiz. (Win 7 için) Bilgisayarım Sağ Tık > Özellikler > Gelişmiş Sistem Ayarları > Gelişmiş > Ortam değişkenleri > Sistem Değişkenleri bölümüne Yeni ekliyoruz. Değişken adı: M2_HOME ve Değeri olarak  sistem değişkenine dosyaları koyduğumuz dizini veriyoruz. Ben C:\Program Files\maven-3.0.4\ yazıyorum. İkinci ekleyeceğimiz ise yine sistem değişkenlerinden path i buluyoruz. ve düzenle diyoruz. Değeri bölümünün sonuna gidip noktalı virgül koyuyoruz ve dosyaları attığımız dizinin içinde bulunan bin klasöürnü gösteriyoruz. Ben C:\Program Files\maven-3.0.4\bin yazıyorum.

Şimdi konsolu açıyoruz (başlat > cmd) mvn –version yazıyoruz eğer aşağıdaki gibi bir görüntüyle karşılaşırsak kurulum tamam demektir.

Şimdi örnek bir maven projesi başlatalım.Konsolda  mvn archetype:generate  komutu ile karşınıza bir liste gelecek. Bu liste, maven ile oluşturabileceğiniz java projelerinin listesidir. Biraz beklediğinizde liste bitecektir. Şimdi karşımıza bir sayı geldi. Bu listeye bakarak istediğiniz proje iskeletinin numarasını girebilirsiniz. Biz standart bir Hello World uygulaması yapacağımız için default olarak gelen 203 numarasını seçiyorum. Bu sizde farklılık gösterebilir.

Daha sonra bizden versiyon seçmemizi istiyor. Ben en son sürüm olan 6 yı seçiyorum.

groupId olarak paket ismini istiyor, net.kodmerkezi.helloworld diyorum,

artifactId olarak proje ismini istiyor, HelloWorld diyorum,

diğer seçenkler olan version ve package i  aynen enter diyerek geçiyorum. ve kurulsunmu sorusuna Y diyorum.

eğer başarılı bir kurulum yaptıysanız aşağıdaki resim gibi bir ekranla karşılaşacaksınız.

Şimdi ben user/hp/deneme altına giderek oluşturduğum projeyi görüyorum. Eğer HelloWorld klasörüne girersek şöyle bir ekranla karşılaşıyoruz.

İşte buradaki pom dosyası bize proje hakkında tüm özet bilgiyi veriyor. Dependency altında ihtiyacı olduğu kütüphaneleri listeliyor. Yani Pom (Project Object Model) dosyamız bizim özet dosyamız diyebiliriz.

Eğer src klasörünü incelerseniz aynı yapıda main ve test klasörlerinin olduğunu görürsünüz. Bunlardan main, geliştirdiğimiz taraf, test ise test amaçlı kullanılan taraf. HelloWorld\src\main\java\net\kodmerkezi\helloworld altında App.java dosyasıyla karşılaşacaksınız.Bu default yaratılmış main dosyamız diyebiliriz. İşte klasör yapısına bakacak olursak, standart bir yapı elde etmiş olduk. Dikkat ettiyseniz hiçbir şekilde jar dosyalarıyla işimiz olmadı.

Şimdi bu projeyi çalıştıralım. Ben öncelikle netbeans kullanacağım. Netbeans default olarak maven projelerini tanımaktadır. Dosya > Open Project ile ilgili projeyi buluyorum.

Projeye bakarsak netbeans proje yapısı halini aldı. Şimdi bu projeyi çalıştıralım. Karşımıza çıkan pencereye main classımızı seçiyoruz.

İlgili jar dosyaları indikten sonra uygulama çalışacaktır.

Şimdi App.java dosyamı açıyorum ve “Hello World” yerine “Merhaba KodMerkezi.Net Kullanıcısı” diyorum ve tekrar çalıştırıyorum.

Bunu yapmamdaki amaç, aynı projeyi şimdi eclipse ile açacak olmamız. Ve değişikliği orada göreceğiz.

Eclipste maven projesi açabilmek için öncelikle bir plugin kurmamız gerekecek. Ben Eclipse Juno kullanacağım.

Eclipse açıyoruz. Help > Install New Software > Add dedikten sonra,

Name: maven

Location: http://m2eclipse.sonatype.org/sites/m2e

yazıp, çıkan sonuçlar arasından Maven Integration for Eclipse i seçip yüklüyoruz. Güvenlik uyarısına OK diyoruz.

Eclipse yeniden başlattıktan sonra, File > Import > Maven > Existing Maven Projects ile biraz önceki HelloWorld uygulamamızı gösteriyoruz.

Şimdi HelloWorld uygulamamızın dizin yapısına bakarsak eğer, eclipse ait dizin yapısını görürüz, yani aynı projeyi netbeans ile açmamıza rağmen dizin yapısı otomatik değişiyor.

Şimdi çalıştıralım ve netbeans üzerinde yaptığımız değişikliği görelim.

Gördüğümüz gibi standart haline gelen java projemiz sayesinde istediğimiz ide üzerinde çalışabiliyoruz. Ayrıca hiçbir şekilde jar dosyaları ile uğraşmıyoruz.

Daha sonraki yazılarımda daha ileri seviye maven teknolojisini anlatacağım. Şimdilik bu kadar. İyi günler

<<< Önceki:

Sonraki: >>>


Facebookta Paylaş

5 yorum »

  • Tuğrul Aşık dedi ki:

    Açıklama içeriği ve netliğiyle güzel bir paylaşım olmuş. Elinize sağlık. İyi çalışmalar.

  • mehmet dedi ki:

    Elinize sağlık bu konu ile alakalı diğer dökümanlarıda makalenin altına ekleyebilirseniz daha faydalı olacağını düşünüyorum.

  • rifat dedi ki:

    merhaba, dokuman çok güzel ve özenli hazırlanmış..

    teşekürler

  • Talha dedi ki:

    Elinize sağlık..

  • Orhan dedi ki:

    Güzel ve faydalı bir makale olmuş. Elinize sağlık.

Yorum Bırakın!

Yorum yaz, yada kendi sitende trackback (Geri besleme) olarak ekle. Ayrıca RSS ile bu konuya üye olabilirsin. .

Nazik olun. Temiz tutun. Konu dışına çıkmayın. Spam yaratmayın.

Bu tagları kullanabilirsiniz:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Bloğumuz gavatarı desteklemektedir. Kendi gavatarınızı edinmek için lütfen Gravatar a üye olun.