pom.xml (Proje Nesne Modeli) nedir? Dinamik Web Projenizde (Java / J2EE) kullanmanız için örnek pom.xml

Yayınlanan: 2021-06-25
pom.xml (Proje Nesne Modeli) nedir? Dinamik Web Projenizde kullanmanız için örnek pom.xml

pom.xml dosyası nedir?

POM, Project Object Model anlamına gelir. Maven'de temel bir çalışma birimidir. pom.xml dosyası tüm yapılandırma, bağımlılıklar, eklenti entegrasyonu ve proje kurulum talimatlarını içerir.

Bu, projenize herhangi bir kitaplık bağımlılığı eklemenin en iyi yoludur. .jar dosyalarını proje kaynak klasörünüze kopyalamak, bunu yapmanın eski bir yoludur.

pom.xml dosyasını detaylarıyla anlayalım.

En basit varsayılan pom.xml dosyası

pom.xml Öğelerini gözden geçirelim:

eleman Tanım
proje Öğe, tanımlayıcının köküdür. Aşağıdaki tablo, olası tüm alt öğeleri listeler.
modelSürüm Bu POM'un hangi proje tanımlayıcı sürümüne uygun olduğunu bildirir. 4.0.0 sürümünü ayarlayın.
Grup kimliği Bir proje için evrensel olarak benzersiz bir tanımlayıcı. Benzer ada sahip diğer projelerden (ör. org.apache.maven) ayırt etmek için tam nitelikli bir paket adı kullanmak normaldir.
yapı kimliği Grup kimliği tarafından verilen grup içinde benzersiz olan bu yapıtın tanımlayıcısı. Bir eser, bir proje tarafından üretilen veya kullanılan bir şeydir. Maven tarafından bir proje için üretilen eserlere örnekler: JAR'lar, kaynak ve ikili dağıtımlar ve WAR'lar.
versiyon Bu proje tarafından üretilen eserin mevcut versiyonu.
pom.xml öğelerini anlama

ek öğeler içeren pom.xml dosyası

daha fazla öğe içeren pom.xml dosyası:

eleman Tanım
ambalajlama Bu projenin ürettiği yapıt türü, örneğin jar war ear pom. Eklentiler kendi ambalajlarını ve dolayısıyla kendi ambalaj tiplerini oluşturabilirler, bu nedenle bu liste olası tüm türleri içermez.
isim Projenin tam adı.
url Projenin ana sayfasının URL'si.
bağımlılıklar Bu öğe, bir projeyle ilişkili tüm bağımlılıkları açıklar. Bu bağımlılıklar, derleme işlemi sırasında projeniz için bir sınıf yolu oluşturmak için kullanılır. Bu projede tanımlanan havuzlardan otomatik olarak indirilirler.
bağımlılık Bağımlılığı oluşturan proje grubu, örneğin org.apache.maven.
yapı Projeyi oluşturmak için gerekli bilgiler.
kaynakDizin Bu öğe, projenin kaynağını içeren bir dizini belirtir. Oluşturulan yapı sistemi, proje oluşturulduğunda bu dizindeki kaynağı derleyecektir. Verilen yol, proje tanımlayıcısına göredir.
finalAd Üretilen yapıtın çağrılacağı dosya adı (uzantı hariç ve yol bilgisi olmadan). Varsayılan değer ${artifactId}-${version}'dur.
eklentiler Kullanılacak eklentilerin listesi.
Eklenti Depodaki eklentinin grup kimliği.
kapsam Bağımlılığın kapsamı – derleme, çalışma zamanı, test, sistem ve sağlanan. Derleme, test etme vb. için kullanılan çeşitli sınıf yollarını hesaplamak için kullanılır. Ayrıca, bu projenin dağıtımına hangi eserlerin dahil edileceğini belirlemeye yardımcı olur.

Crunchify'da 700'den fazla Java öğreticisi yayınladık ve baştan beri Spring MVC bağımlılıkları dahil olmak üzere pom.xml dosyalarını kullanıyoruz.

Son birkaç yılda, daha fazla kitaplık bağımlılığı eklenmesi nedeniyle, Crunchify'ın Java öğretici pom.xml dosyası artık daha büyük

İşte referansınız için mevcut pom.xml dosyamız. Kopyalayıp projenize eklerseniz, bu sizin için de işe yarar.

Crunchify'ın Java eğitimleri için kullandığımız pom.xml dosyası

Umarım bu, pom.xml dosyasının ne olduğunu ve neden herhangi bir Java'nın J2EE projesinde kullandığımızı açıklar.

Başka sorunuz olursa bana bildirin.

Log4j'yi en son sürüme güncelleyin

CVE-2021-44228: Yapılandırmada, günlük mesajlarında ve parametrelerde kullanılan Apache Log4j2 <=2.14.1 JNDI özellikleri, saldırgan kontrollü LDAP ve JNDI ile ilgili diğer uç noktalara karşı koruma sağlamaz.

log4j 2.16.0'dan itibaren bu davranış varsayılan olarak devre dışı bırakılmıştır.