JavaRush /Java Blogu /Random-AZ /4-cü hissə: Maven əsasları

4-cü hissə: Maven əsasları

Qrupda dərc edilmişdir
Bu material “Müəssisələrin İnkişafına Giriş” seriyasının bir hissəsidir. Əvvəlki məqalələr: Hissə 4. Maven Əsasları - 1Maven layihələri idarə etmək və qurmaq üçün bir vasitədir - Java proqramçısının əsl köməkçisidir. O, işin bütün mərhələlərində tərtibatçının həyatını asanlaşdırır: layihə strukturunun yaradılmasından və lazımi kitabxanaların qoşulmasından tutmuş məhsulun serverdə yerləşdirilməsinə qədər. İstənilən çərçivə ilə işləyərkən Maven-dən istifadə etməli olacaqsınız. Beləliklə, bu gün onun əsas funksiyalarına nəzər salaq və onlardan necə istifadə edilməli olduğunu görək.

Maven-in addım-addım quraşdırılması

  1. Əvvəlcə Maven-i bu linkdən yükləyərək quraşdırmalısınız .

  2. Sonra, yüklənmiş arxivi çıxartmalı və M2_HOME mühit dəyişənini paketdən çıxarılan arxivin yerləşdiyi yerə keçidə təyin etməlisiniz. Məsələn, C:\Program Files\maven\

  3. Hər şeyin quraşdırıldığını yoxlamaq üçün əmr satırına yazın:

    mvn versiyası

  4. Maven, Java və s. üçün versiya məlumatı göstərilərsə, siz getməyə hazırsınız.

  5. İndi IntelliJIDEA-nı açın və yeni layihə yaradın. İlk pəncərədə Maven seçin:

    Hissə 4. Maven Əsasları - 2
  6. Sonrakı düyməsini basın və aşağıdakı dialoq qutusunu doldurun:

    Hissə 4. Maven Əsasları - 3
  7. Sonra, standart olaraq tələb olunan yerdə bir layihə yaradın.

    Layihə yaradıldıqdan sonra onun strukturuna diqqət yetirin:

    Hissə 4. Maven Əsasları - 4
Bu Maven layihəsi üçün standart quruluşdur :
  • src/main/java qovluğunda java sinifləri var;
  • src/main/resurslarda - proqramımızın istifadə etdiyi resurslar (HTML səhifələri, şəkillər, üslub cədvəlləri və s.);
  • src/test - testlər üçün.
Pom.xml adlı fayla da diqqət yetirin . Bu Maven idarə etmək üçün əsas fayldır . Layihənin bütün təsviri burada verilmişdir. Orada hələ çox məlumat yoxdur, amma indi əlavə edəcəyik.

Maven-də asılılığın idarə edilməsi

“Asılılıq meneceri” və ya “asılılıq meneceri” ifadəsi ilə rastlaşa bilərsiniz. Maven hər şeyi edə bilər. Maven sayəsində internetdə tələb olunan kitabxananı axtarmağa, onu yükləməyə və sonra onu layihəyə qoşmağa çox vaxt sərf etməyə ehtiyac yoxdur: sadəcə olaraq tələb olunanı Maven asılılıqları siyahısına əlavə etmək kifayətdir. Asılılıqlar asılılıqlar XML qovşağında yazılır.Fayllarla sadələşdirilmiş iş üçün layihənizdə Apache Commons IO kitabxanasına ehtiyacınız olduğunu deyək. Kitabxana əlavə etmək üçün pom.xml-də beş sətir yazın:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Sizin pom.xml indi belə görünməlidir:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Bundan sonra, IntelliJ IDEA-ya asılılığı idxal etməyə icazə verin (aşağı sağ küncdə dialoq qutusu görünməlidir). İndi kitabxana istifadəyə hazırdır:
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Bütün sonrakı asılılıqlar da <dependencies> teqinin içərisinə yazılmalıdır. Sizi maraqlandıra bilər: <dependency> teqinə kitabxana haqqında hansı məlumatı daxil etməyiniz lazım olduğunu necə bilirsiniz? Burada hər şey sadədir. Belə hallarda həmişə üç parametr göstərilir: groupId, artifactId və version. Bu parametrləri iki yolla öyrənə bilərsiniz:
  1. Kitabxananın saytında. Əgər bizə Apache Commons IO lazımdırsa, rəsmi vebsayta keçin və Dependency Information sekmesini seçin. Bütün lazımi məlumatlar buradadır - siz sadəcə olaraq onu kopyalayıb asılılıqlar bölməmizə əlavə edə bilərsiniz.

  2. Maven deposunda . Axtarışa “apache commons io” daxil edin və siz kitabxananın bütün mövcud versiyalarını görəcəksiniz. Lazım olanı seçdikdən sonra kopyalayın:

    <dependency>
               <groupId>commons-io</groupId>
               <artifactId>commons-io</artifactId>
               <version>2.6</version>
           </dependency>

    və pom.xml-ə əlavə edin.

Maven depolarının növləri

Maven repozitoriyasını bir daha xatırlatmağa dəyər, çünki kompüterinizdə onlardan ikisi var - xarici (qlobal) və yerli. Layihələrinizə əlavə etdiyiniz bütün kitabxanalar yerli depoda saxlanılır. Maven layihəyə tələb olunan asılılığı əlavə etdikdə, o, əvvəlcə yerli depoda belə bir kitabxananın olub-olmadığını yoxlayır və yalnız onu orada tapmadıqda, o, xarici birinə çevrilir. Gördüyünüz kimi, asılılıqlar əlavə etmək üçün Maven-dən istifadə edə bilərsiniz, lakin bu onun edə biləcəyi tək şey deyil.

Maven istifadə edərək Java layihəsinin qurulması

Bu xüsusiyyət yeni başlayanlar üçün mənasız görünə bilər. IDE varsa, bu niyə lazımdır? Amma yox! Birincisi, tətbiqi qurmalı olduğunuz server təkcə inkişaf mühitinə deyil, həm də qrafik interfeysə malik ola bilər. İkincisi, böyük layihələrdə Maven layihənin yığılması tapşırıqlarının öhdəsindən daha yaxşı gəlir. Odur ki, gözləməklə özümüzə əzab verməyək, Maven-dən istifadə edərək tətbiqin qurulması prosesini nəzərdən keçirək.

Fazalar

Tətbiqin qurulması prosesi Maven layihəsinin həyat dövrü adlanır və o, mərhələlərdən ibarətdir. Onlara IDEA-da yuxarı sağ küncdəki Maven>Misal>Lifecycle üzərinə klikləməklə baxa bilərsiniz: Hissə 4. Maven Əsasları - 5Gördüyünüz kimi, 9 mərhələ var:
  1. təmiz - bütün tərtib edilmiş faylları hədəf kataloqdan çıxarır (bitmiş artefaktların saxlandığı yer);
  2. doğrulamaq - layihənin qurulması üçün bütün məlumatların mövcud olub olmadığını yoxlamaq;
  3. kompile - mənbə kodu olan fayllar tərtib edilir;
  4. test — testlər işə salınır;
  5. paket - tərtib edilmiş fayllar qablaşdırılır (jar, war və s. arxivə);
  6. verify — paketlənmiş faylın hazırlığını təsdiqləmək üçün yoxlamalar aparılır;
  7. quraşdırın - paket yerli depoya yerləşdirilir. İndi başqa layihələr tərəfindən xarici kitabxana kimi istifadə edilə bilər;
  8. sayt - layihə sənədləri yaradılır;
  9. yerləşdirmək - toplanmış arxiv uzaq bir depoya kopyalanır.
Bütün mərhələlər ardıcıl olaraq yerinə yetirilir: 1-3 fazalar tamamlanana qədər dördüncü mərhələyə başlaya bilməzsiniz. Bir mərhələni işə salmağın iki yolu var:
  • komanda xətti vasitəsilə:

    mvn paketi

    4-cü hissə. Maven əsasları - 6
  • Intellij IDEA istifadə edərək:

    Hissə 4. Maven Əsasları - 7

    Paket işə salınmazdan əvvəl doğrulama, tərtib və sınaq mərhələləri həyata keçirilir. İstisna təmiz mərhələdir. Hər yeni layihənin qurulmasından əvvəl onu çağırmaq məsləhətdir. Fazaları boşluqlarla ayırmaq olar:

    mvn təmiz paket.

Həmçinin, hər bir mərhələnin əvvəlcədən və sonrakı mərhələləri var: məsələn, yerləşdirmədən əvvəl, yerləşdirmədən sonra, əvvəlcədən təmizləmə, təmizlənmədən sonra, lakin onlar olduqca nadir hallarda istifadə olunur. Bundan əlavə, hər bir mərhələnin məqsədləri var. Standart məqsədlər standart olaraq daxil edilir, əlavələr Maven plaginləri tərəfindən əlavə olunur. Bəzən bəzi mərhələdə əlavə funksionallıq yerinə yetirmək lazımdır. Bunun üçün Maven plaginləri var. Rəsmi plaginlərin siyahısını Maven saytında tapa bilərsiniz . Ancaq bilin ki, hələ də üçüncü tərəf mənbələrində tapıla bilən çoxlu xüsusi plaginlər var. Yaxşı, əlbəttə ki, bəzi ekzotik ehtiyac varsa, həmişə belə bir plagini özünüz yazmaq imkanınız var .

Pluginlər

Layihəyə Maven plaqini əlavə etmək üçün onun asılılıqlara bənzər təsviri <build> və <plugins> teqlərində pom.xml-də yerləşdirilməlidir. Məsələn, bütün xarici kitabxanalarımızın ən son versiyalardan istifadə etdiyini yoxlamaq üçün bizə plaginə ehtiyac var. İnternetdə bir az axtarış etdikdən sonra bu plagini istifadə üçün təlimatlarla birlikdə tapa bilərsiniz. Gəlin onun groupId, artifactId və versiyasını təyin edək. Onun hansı məqsədlərə çatmalı olduğunu və hansı mərhələdə olduğunu yazaq. Bizim vəziyyətimizdə, cari pom.xml-də asılılığın yoxlanılması doğrulama mərhələsinə təyin edilmişdir. İndi "yaddaşımız" belə görünür:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>

   <groupId>example.com</groupId>
   <artifactId>example</artifactId>
   <version>1.0-SNAPSHOT</version>

   <build>
       <plugins>
           <plugin>
               <groupId>com.soebes.maven.plugins</groupId>
               <artifactId>uptodate-maven-plugin</artifactId>
               <version>0.2.0</version>
               <executions>
                   <execution>
                       <goals>
                           <goal>dependency</goal>
                       </goals>
                       <phase>validate</phase>
                   </execution>
               </executions>
           </plugin>
       </plugins>
   </build>

   <dependencies>
       <dependency>
           <groupId>commons-io</groupId>
           <artifactId>commons-io</artifactId>
           <version>2.6</version>
       </dependency>
   </dependencies>
</project>
Biz hələ də layihəmiz üzərində işləməyə davam edə bilərik. Ancaq gəlin Apache Commons IO versiyasını 2.0-a dəyişdirməyə və layihəni qurmağa başlayaq. Biz əldə edirik: [ERROR] Failed to execute goal com.soebes.maven.plugins:uptodate-maven-plugin:0.2.0:dependency (default) on project example: There is a more up-to-date version ( 2.6 ) of the dependency commons-io:commons-io:2.0 available. -> [Help 1] Burada plaqinin səbəb olduğu quraşdırma xətası var. Səhv mesajı 2.6 mövcud olduqda 2.0 versiyasından istifadə etdiyimizi bildirir. Ümumiyyətlə, Maven çox faydalı bir vasitədir. Əvvəlcədən istifadə etmək çətin görünə bilər, amma məşq edin, layihələrinizi Maven altında yaradın və bir müddət sonra nəticədən çox razı qalacaqsınız. Bu məqalə Maven haqqında bir çox təfərrüatı bilərəkdən buraxdı - biz əsas şeylərə diqqət yetirdik. Ancaq mükəmməlliyə heç bir məhdudiyyət yoxdur: məhsulun rəsmi saytında Maven haqqında daha çox oxuya bilərsiniz . Hissə 5. Servletlər. Sadə veb proqramın yazılması Hissə 6. Servlet konteynerləri Hissə 7. MVC (Model-View-Controller) nümunəsinin təqdimatı Hissə 8. Kiçik yaylı yükləmə proqramının yazılması
Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION