13 Temmuz 2014 Pazar

Maven Nedir?

Maven nedir?

Herkese merhaba, aslına bakılırsa bugün  maven'ı anlatmak gibi bir planım yoktu.  Bu gün intellij ile java projeleri oluşturmayı anlatacaktım. Oluşturduğum projelerim  Maven'a dayalı olduğu için de yeni başlayanların akıllarında soru işareti kalabileceğini düşünerek maven ile ilgi kısa bir açıklama yapayım istedim.

Arkadaşlar Maven bir bağımlılık yönetim aracıdır(dependency management tool).

Java projeleri geliştirilirken bir takım ek kaynaklara mutlaka ihtiyaç duyulur. Örneğin  şöyle bir senaryo kuralım kafamızda:
herhangi bir projenizde  java ile Mysql bağlantısı yapmak istiyorsunuz. bunun için neler yapmanız gerektiğini aşama aşama anlatayım size.
eğer maven  yada benzeri bir dependency management tool ile çalışmıyorsanız mysql in web sitesinde girerek mysql versiyonuna göre ilgili jar dosyasını bulmalısınız.
Ayrıca bu jar dosyasını bilgisayarınıza(geliştirme ortamına) indirip projenizin lib dizinine eklemek durumundasınız.
Kodlarınızın  testlerinin yapıldığı prep ortamında yine bu işlemleri tekrarlamalısınız.
Kodlarınızın çalıştığı prod(gerçek/canlı) ortamda yine bu kaynak(jar) dosyalarını bulup indirmelisiniz.
Olsun ben hepsinde tek tek yaparım diyen varsa hodri meydan buyursun yapsın. ancak  bu işlemleri tüm ek kaynaklar için tek tek yapmak bir developer için önemli derecede zaman kaybıdır.

Ayrıca bu işlemleri yaparken sürekli aklınızda soru işaretleri kalacaktır acaba testteki jar dosyasını güncelledim mi? prodda son versiyona çektim mi? ...

Her neyse bu olumsuz/can sıkıcı senaryolar dahada artırılabilir.  Ancak eğer maven varsa yapacağınız bir tek işlem var maven'ın ayar(configuration) dosyasına ihtiyacınız olan kaynakların depolarını ve sürümlerini belirtmektir.

Bu sayede maven test ortamında da prod ortamında da sizin ihtiyacınız olan kaynakların tamamını çekecektir. güncellemeyi tek bir xml(pom.xml) dosyasından yapacaksınız ancak tüm ortamlarda ihtiyacınız olan   kaynaklar hazır hale gelecektir.

Kısaca söylemek gerekirse  Maven'i asistanınız olarak kabul edebilirsiniz. Asistanınıza diyorsunuz ki  benim  bu projede X kaynağına ihtiyacım var.  Sen bu X  kaynağını indir  ve projemi her götürdüğüm yerde bu kaynakları projeme dahil et.


NOT: Maven kurulumunu anlatmayı düşünmüyorum. internette türkçe olarak yeterince kaynak var.
link : maven kurulumu

sürçü lisan ettiysek affola 

Hiç yorum yok:

Yorum Gönderme