Koray PEKER
Menu
  • Anasayfa
  • Kütüphane
  • Kategoriler
    • Java
    • Spring
    • Tasarım Şablonları
    • Git
    • Maven
    • ORM Çatıları
    • VCS
    • SDLC
    • DevOps
    • Algoritma
    • Eğitim
    • Diğer
  • Hakkımda
Menu

Derinlemesine Apache Maven – II

31 Mart 201821 Ekim 2018 tarihinde yayımlandı

Önceki yazımda (Derinlemesine Apache Maven – I), maven’in ne olduğundan, amaçlarından bahsetmiştik. Bu yazımda da maven depolarından, kurulumundan ve komutlarından bahsedeceğim.

Maven Depoları (Maven Repositories)

Maven, bağımlıkları depo (repository) ile yönetir. Üç adet depo şekli bulunmaktadır.

  • Local Repository (Yerel Depo)

Bilgisayarımızda bulunan yerel depomuzdur. Maven tarafından indirilmiş olan jar’ların bulunduğu dizindir. Maven’i kurduğumuzda otomatik olarak “C:\Users\{kullaniciAdi}\.m2” dizini yerel depo olmaktadır.

  • Central Repository (Merkezi Depo)

Maven’in merkez deposudur. İndirilmek istenen jar’lar burada indirilmeye hazır olarak bulunur. Maven gerekli jar’lara yerel depoda bakar eğer eksik jar var ise merkezi depoya gider, eksik jar’ları buradan indirir.

  • Remote Repository (Uzak Depo)

İlgili jar’ları merkezi depodan değil de başka bir yerden indirmek istiyorsak veya indirmek istediğimiz jar’lar merkezi depoda yoksa pom.xml dosyasına indirmek istediğimiz dosyalarının dependency’sini eklersek maven remote repository’den jar’ları indirir.

Peki, nasıl kurarız bu Maven ‘i?

Maven kurulumu yapabilmek için ilk olarak ihtiyacınız olacak şey elbette JDK(Java Development Kit) ‘dır. Eğer JDK ‘e sahip olup olmadığınızı bilmiyorsanız, komut satırına java –version yazarak öğrenebilirsiniz.

Eğer JDK kurulu değilse http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html adresinden işletim sisteminize uygun JDK’ yı indirebilirsiniz.

Evet, şimdi http://maven.apache.org/download.cgi adresinden güncel Maven sürümünü indirelim ve bu zip dosyasını Yerel disk C ‘nin altına çıkaralım.(C:\Java\apache-maven-3.5.3 gibi)

Sırada, birkaç ortam değişkeni eklemek var. İlk olarak, yeni bir değişken oluşturalım ve adına M2_HOME diyelim ve değerine de Maven ‘i çıkardığımız dizini verelim. (Örnek olarak C:\Java\apache-maven-3.5.3\) Daha sonra kaydedelim.

Şimdi, Path değişkenini seçelim ve düzenlemeye basalım.Daha sonra değer kısmının sonunda noktalı virgül yoksa ekleyelim ve sonuna da %M2_HOME%\bin; ekleyelim. Son olarak da tamam diyerek değişlikleri kaydedelim.

Eğer her şey doğru gitmişse, komut satırında mvn –v yazdığınızda karşınıza aşağıdaki gibi sonuçların gelmesi gerekir ve kurulum tamamlanmış demektir.

Maven Komutları nelerdir ?

Komut Anlamı
mvn -v Mavenin versiyonunu gösterir
mvn -h Maven komutları için yardım
mvn help:help Aktif Build-çevresi için yardım
mvn help:describe -Dplugin=… Belirli Plugin’ler için yardım
mvn help:effective-settings Aktif projenin Setting ayarlarını gösterir.
mvn help:effective-pom Projeye ait POM sayfasını gösterir.
mvn help:active-profiles Aktif profilleri gösterir.
mvn help:all-profiles Tüm profilleri gösterir.
mvn clean Projenin derlenmesi sırasında oluşan target klasörünün silinmesini sağlar.
mvn validate Projenin target dosyasını siler ve daha sonra hatalı kısımları tarar.
mvn compile Projeyi clean ve validate eder, daha sonra derler.
mvn test Projeyi derler ve test sınıflarını çalıştırır.
mvn package Projeyi testlerini yapar ve eğer hata yoksa projedeki

derlenmiş kodları paketlemesini sağlar.(JAR,WAR veya EAR)

mvn verify Projeyi paketler ve daha sonra bu paketlerin geçerliliğini kontrol eder.
mvn install Projeyi doğruladıktan sonra yerel depoya yükler.
mvn deploy Projeyi uygulama sunucusuna gönderir.
mvn site Projeye ait dokümantasyon üretir.
mvn dependency:tree -Dverbose Bağımlılık ağacına genel bakışı sağlar.

Diğer kullanımları:

analyze, build-classpath, copy-dependencies, go-offline

mvn archetype:generate Proje temelini üretir.
mvn eclipse:eclipse Eclipse için gerekli proje dosyalarını üretir ve günceller

Yazıları özellikle uzun tutmak istemiyorum. Bu sebeple bir sonraki yazımda maven pom.xml taglarından bahsedeceğiz ve tagları detaylandıracağız ayrıca kullanım pratiklerine değineceğiz.

Maven Cheat Sheet sizlerle paylaşıyorum.

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

POPÜLER YAZILAR

  • Çalışma Masam
  • Bir Yazılımcının Sırt Çantası
  • Modern Veri Tabanları
  • CI (Continuous integration) ve CD (Continuous Delivery/Deployment)
  • NullPointerException’dan Kaçış
  • Java Branching Statements (Dallanma İfadeleri)
  • İlk işime veda :(
  • Yük Testi ve SoapUI
  • Project : Lombok
  • Enumeration nedir ?

Ara

Son Yazılar

  • Çalışma Masam
  • Apache Kafka
  • Postman API’ları Görselleştirme
  • MongoDB Cheat Sheet
  • Splunk 101 – Giriş
  • Yük Testi ve SoapUI
  • Modern Veri Tabanları
  • Senior Stajyer ?!
  • API Dokümantasyon Önemi ve Swagger
  • Kod Tekrarı(Code Duplication) ve DRY

TAKİP ET

©2025 Koray PEKER