Maven
Maven nədir?
Maven-i Jason van Zyl yazılıb. Apache Maven 1.0 2004-cü ildə çıxıb. Layihənin siyahısı pom.xml faylındadır. Bu ad Project Object Model deməkdir. Maven Central kitabxanaların ümumi yeridir. mvn compile kodu yoxlayıb sinif faylına çevirir. mvn package hazır arxivi çıxarır. Java dili qaydanı deyir. Maven həmin qaydanı işlətməyi sıraya qoyur. Gradle də Java qurur, amma siyahını skriptlə yazır. Maven siyahını pom.xml-də sabit quruluşla saxlayır.
Maven nə üçün istifadə olunur?
Maven Java layihəsini eyni addımlarla qurmaq və kitabxananı bir siyahıdan gətirmək üçündür.
- Kodu sinif faylına çevirmək
- Testi mvn test ilə açmaq
- Kitabxananı pom.xml-ə yazmaq
- Hazır jar arxivini çıxarmaq
Maven ilə nə etmək olar?
Maven ilə asılılığı endirir, testi işlədir və arxivi qurursan. O, Java proqramını özü yazmır. Səhv Java versiyası olanda qurma dayanır. Tanımadığın kitabxana sənin layihənin içinə girir. Gradle faylını Maven oxumur.
Maven öyrənmək çətindirmi?
Boş layihədə bir əmr asandır. Çətinlik versiya və anbardadır. İki kitabxana eyni adı fərqli versiya ilə istəyə bilər. pom.xml böyüyəndə hansı sətrin nə gətirdiyi itir. Lokal anbar köhnə faylı saxlayır və yeni yükləməni gizlədə bilər. Şəbəkə bağlı deyilsə Central-dan paket gəlmir.
Üstünlükləri və məhdudiyyətləri
Üstünlük: addımlar tanışdır, siyahı bir fayldadır, eyni qurma başqa maşında təkrarlanır. Məhdudiyyət: pom.xml uzun olur. Maven Java deyil və Gradle deyil.
Əsas anlayışlar
pom.xml siyahıdır. Asılılıq gətirilən kitabxanadır. Hədəf isə bir qurma addımının adıdır.
- compile kodu çevirir
- test yoxlamanı işlədir
- package arxivi çıxarır
- Maven Central ümumi yerdir
Qısa nümunə
Bu əmr hazırkı qovluqdakı Java layihəsini paketləyir. Kodu özü yazmır.
mvn package
Tez-tez verilən suallar
- Maven və Java eynidir? Xeyr. Java dili işlədir. Maven layihəni qurur və kitabxananı gətirir.
- Maven və Gradle eynidir? Xeyr. İkisi də Java qura bilər. Maven siyahını pom.xml-də saxlayır. Gradle siyahını skriptlə yazır.
- pom.xml proqramın özüdür? Xeyr. O, ad və kitabxana siyahısıdır.