POM’un açılımı Project Object Model'dir. Türkçe karşılığı “Proje
Nesne Modeli” anlamına gelir. POM bir “xml” dosyadır. İçerisinde Maven tarafından derlenen projeninin kullandığı proje ve
yapılandırma detayları hakkında bilgileri içerir. POM’da; maven projesinin kimliği
ve yapısı tanımlanır, ayarlar yapılır.
POM dosyası proje
dokümantasyonu da içerebilmektedir. Proje hakkında bilgi edinmek için pom.xml dosyasına bakmak yeterli olacaktır. (tanım, geliştiriciler, lisans,
bağımlı olduğu diğer projeler v.s.)
Dosyanın içeriğinde
genellikle şunlar bulunabilir:
- Proje’ye ait bilgiler, proje ismi, grubu, sürümü, paket tipi (JAR, WAR, EAR vs.)
- Dependency’ler (JAR dosyaları birer bağımlılık(dependency) olarak adlandırılır. )
- Repository’ler (dependency’lerin indirileceği yerler)
- Plugin‘ler ve Extension‘lar (bir çok işlem için bir eklenti kullanılır)
- Profiller (live ortam ve test ortamı için farklı profiller tanımlanabilir)
- Execution ve Goal tanımları (hangi aşamada hangi işlemin yapılacağı)
- Distribution bilgileri (build başarılı olduğunda deploy yapılacak yerler)
- Compile bilgileri (encoding, jdk sürümü vs.)- developerlar ve mail listeleri
pom.xml içerisindeki temel elementlerin bazılarının açıklamaları
aşağıdaki gibidir:
<project> : proje anlamındadır. pom.xml dosyasının en üst kök
elemanıdır.
<modelVersion> : model versiyonu anlamındadır. Kullanılan POM
versiyonunu belirtir. Örneğin, “2.0.1”
<groupId> : grup kimliği anlamındadır. Maven projesini yapan
birimin kullanıcı kimliği bilgisidir. Örnek olarak şöyle bir tekil kimlik
verilebilir; “com.hope”. Java dünyasında genellikle groupId projenin web adresi
ile alakalıdır. Eğer projenizin web adresi “hope.com” ise groupId
“com.hope” olabilir. Bu şart değil, sadece genel yazılı olmayan bir kuraldır.
<artifactId> : yapı kimliği anlamındadır. Oluşturulan ana
yapının adını ifade eder. Örnek olarak “my-app”
<version> : versiyonu ifade eder. Projenin ve modülün
versiyonunu belirtir. Örneğin, “15.9.0”
<packaging> : paketleme anlamındadır. Paketleme türünü
belirtir. Örneğin, “jar”,”war”,”pom” veya “ear” gibi.
<name> : ad anlamındadır. Projenin adını ifade eder. Örneğin “HOPE Management
and Communication”.
<url> : URL anlamındadır. Varsa projenin bulunacağı web adresini ifade
eder. Örneğin, “http://hopelightning.blogspot.com”
<description> : açıklama anlamındadır.
<dependency> : Bir bağımlılık temsil eder. İçerisinde
bağımlılığa ait özellikleri barındırır. (JAR dosyaları birer bağımlılık(dependency)
olarak adlandırılır. )
Kaynaklar :
http://yazilimcity.net/maven-pom-nedir-ne-ise-yarar-nasil-kullanilir/
http://www.turkjava.com/maveni-taniyalim-terminolojisini-ogrenelim-ne-nedir/
Hiç yorum yok:
Yorum Gönder