JavaRush /Java Blog /Random-TK /4-nji bölüm: Maven esaslary

4-nji bölüm: Maven esaslary

Toparda çap edildi
Bu material “Kärhananyň ösüşine giriş” seriýasynyň bir bölegidir. Öňki makalalar: Bölüm 4. Maven esaslary - 1Maven taslamalary dolandyrmak we gurmak üçin gural - Java programmistiniň hakyky kömekçisi. Işiň ähli basgançaklarynda dörediji üçin durmuşy aňsatlaşdyrýar: taslama gurluşyny döretmekden we zerur kitaphanalary birikdirmekden önümi serwerde ýerleşdirmekden. Islendik çarçuwa bilen işleýän wagtyňyz Maven ulanmaly bolarsyňyz. Geliň, şu gün onuň esasy funksiýalaryna seredeliň we olaryň nähili ulanylmalydygyny göreliň.

Maveniň ädimme-ädim gurulmagy

  1. Ilki bilen Maven-i şu baglanyşykdan göçürip alyp gurmaly .

  2. Ondan soň, göçürilen arhiwi açmaly we M2_HOME gurşaw üýtgeýjisini açylmadyk arhiwiň ýerleşýän ýerine baglanyşyk edip sazlamaly. Mysal üçin, C: \ Program Faýllar \ maven \

  3. Hemme zadyň gurnalandygyny barlamak üçin buýruk setirine ýazyň:

    mvn-wersiýasy

  4. Maven, Java we ş.m. wersiýa maglumatlary görkezilse, gitmäge taýyn.

  5. Indi IntelliJIDEA açyň we täze taslama dörediň. Birinji penjirede Maven saýlaň:

    Bölüm 4. Maven esaslary - 2
  6. "Indiki" düwmesine basyň we aşakdaky gepleşik penjiresini dolduryň:

    Bölüm 4. Maven esaslary - 3
  7. Ondan soň, gerekli ýerde standart ýaly taslama dörediň.

    Taslama döredilenden soň, onuň gurluşyna üns beriň:

    Bölüm 4. Maven esaslary - 4
Maven taslamasy üçin adaty gurluş :
  • src / main / java bukjasynda java synplary bar;
  • src / main / resources - programmamyzyň ulanýan çeşmeleri (HTML sahypalary, suratlar, stil sahypalary we ş.m.);
  • src / test - synaglar üçin.
Şeýle hem pom.xml atly faýla üns beriň . Bu Maveni dolandyrmak üçin esasy faýl . Taslamanyň ähli beýany şu ýerde. Ol ýerde entek kän maglumat ýok, ýöne indi goşarys.

Mawende garaşlylygy dolandyrmak

“Garaşlylyk dolandyryjysy” ýa-da “garaşlylyk dolandyryjysy” jümlesine duş gelen bolmagyňyz mümkin. Maven hemmesini edip biler. Maveniň kömegi bilen, internetde zerur kitaphanany gözlemek, göçürip almak we ony taslama birikdirmek üçin köp wagt sarp etmegiň zerurlygy ýok: diňe Maven baglylyklarynyň sanawyna zerur birini goşuň. Baglylyklar XML düwünine baglylykda ýazylýar, faýllar bilen ýönekeýleşdirilen iş üçin taslamaňyzda Apache Commons IO kitaphanasyna mätäç diýeliň. Kitaphana goşmak üçin pom.xml-de bäş setir ýazyň:
<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Pom.xml indi şeýle bolmaly:
<?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>
Ondan soň, IntelliJ IDEA baglylygy import etmäge rugsat beriň (aşaky sag burçda gepleşik penjiresi peýda bolmaly). Indi kitaphana ulanmaga taýýar:
import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Ondan soňky ähli baglylyklar <baglylyk> belliginiň içinde hem ýazylmalydyr. Özüňizi gyzyklandyryp bilersiňiz: <garaşlylyk> belliginiň içindäki kitaphana hakda haýsy maglumatlary goşmalydygyny nädip bilýärsiňiz? Bu ýerde hemme zat ýönekeý. Şeýle ýagdaýlarda üç parametr hemişe kesgitlenýär: groupId, artifactId we wersiýa. Bu parametrleri iki ýol bilen bilip bilersiňiz:
  1. Kitaphana web sahypasynda. Apache Commons IO gerek bolsa, resmi web sahypasyna giriň we baglylyk maglumatlary goýmasyny saýlaň. Necessaryhli zerur maglumatlar şu ýerde - ony göçürip, garaşlylyk bölümimize goşup bilersiňiz.

  2. Maven ammarynda . Gözlegde “apache commons io” -ny giriziň we kitaphananyň ähli wersiýalaryny görersiňiz. Gerekli birini saýlanyňyzdan soň göçüriň:

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

    we pom.xml-e goşuň.

Maven ammarlarynyň görnüşleri

“Maven” ammaryny ýene bir gezek bellemelidiris, sebäbi aslynda olaryň ikisi - daşarky (global) we ýerli, kompýuteriňizde. Taslamalaryňyza goşýan ähli kitaphanalar ýerli ammarda saklanýar. Maven taslama zerur garaşlylyk goşanda, ilki ýerli ammarda şeýle kitaphananyň bardygyny barlaýar we diňe şol ýerde tapmasa, daşarky birine öwrülýär. Görşüňiz ýaly, garaşlylygy goşmak üçin Maveni ulanyp bilersiňiz, ýöne bu edip biljek zat däl.

Maven ulanyp Java taslamasyny gurmak

Bu aýratynlyk täze doglan çaga üçin manysyz ýaly bolup biler. IDE bar bolsa näme üçin bu zerur? Nook! Ilki bilen, programmany gurmaly boljak serwerde diňe bir ösüş gurşawy bolman, eýsem grafiki interfeýs hem bolup biler. Ikinjiden, uly taslamalarda Maven taslamany ýygnamak meselelerini has gowy çözýär. Şonuň üçin garaşmak bilen özümizi gynamaly däl, Maveniň kömegi bilen programma gurmak prosesine seredeliň.

Tapgyrlar

Programma gurmak prosesi Maven taslamasynyň ýaşaýyş sikli diýilýär we tapgyrlardan durýar. Olara IDEA-da Maven> mysal> rightokarky sag burçdaky ömri siklini basyp seredip bilersiňiz: Bölüm 4. Maven esaslary - 5Görşüňiz ýaly 9 tapgyr bar:
  1. arassalamak - ähli düzülen faýllary maksatly katalogdan aýyrýar (taýýar artefaktlaryň saklanýan ýeri);
  2. tassyklamak - taslama gurmak üçin ähli maglumatlaryň bardygyny ýa-da ýokdugyny barlamak;
  3. jemlemek - deslapky kody bolan faýllar düzülýär;
  4. synag - synaglar başlaýar;
  5. paket - düzülen faýllar gaplanýar (banka, söweş we ş.m. arhiwine);
  6. barlamak - gaplanan faýlyň taýýarlygyny tassyklamak üçin barlaglar geçirilýär;
  7. gurmak - paket ýerli ammarda ýerleşdirildi. Indi beýleki taslamalar tarapyndan daşarky kitaphana hökmünde ulanylyp bilner;
  8. sahypa - taslama resminamalary döredildi;
  9. ýerleşdirmek - ýygnan arhiw uzakdaky ammarda göçürilýär.
Phhli fazalar yzygiderli ýerine ýetirilýär: 1-3-nji tapgyrlar gutarýança dördünji tapgyra başlap bilmersiňiz. Fazany başlatmagyň iki ýoly bar:
  • buýruk setiri arkaly:

    mvn bukjasy

    Bölüm 4. Maven esaslary - 6
  • Intellij IDEA ulanyp:

    Bölüm 4. Maven esaslary - 7

    Bukja işe başlamazdan ozal barlamak, düzmek we synag etaplary ýerine ýetirilýär. Kadadan çykma arassa fazadyr. Her täze taslama gurulmazdan ozal jaň etmek maslahat berilýär. Fazalary boşluklar bilen bölüp bolar:

    mvn arassa paket.

Mundan başga-da, her etapda deslapky we soňky tapgyrlar bar: mysal üçin, öňünden ýerleşdirmek, ýerleşdirmek, arassalamak, arassalamak, ýöne olar seýrek ulanylýar. Mundan başga-da, her tapgyryň maksatlary bar. Adaty maksatlar adaty ýagdaýda girizilýär, goşmaça maksatlar Maven plaginleri tarapyndan goşulýar. Käwagt käbir döwürde goşmaça işlemeli. Munuň üçin Maven pluginleri bar. Resmi pluginleriň sanawyny Maven web sahypasynda tapyp bilersiňiz . Emma üçünji tarap çeşmelerinde tapyp boljak köp sanly pluginleriň bardygyny biliň. Elbetde, käbir ekzotik zerurlyk bar bolsa, elmydama şeýle plagini özüňiz ýazmaga mümkinçiligiňiz bar .

Pluginler

Taslama Maven pluginini goşmak üçin, garaşlylyga meňzeş beýany, pom.xml-de <build> we <plugins> belliklerinde ýerleşdirilmelidir. Mysal üçin, daşarky kitaphanalarymyzyň iň soňky wersiýalaryny ulanýandygyny barlamak üçin bir plugin gerek. Internetde azajyk gözläniňizden soň, ulanmak üçin görkezmeler bilen bu plagini tapyp bilersiňiz. GroupId, artifactId we wersiýasyny düzeliň. Geliň, haýsy maksatlara ýetmelidigini we haýsy etapda ýazalyň. Biziň ýagdaýymyzda, häzirki pom.xml-de garaşlylygy barlamak barlanylýar. Indi “ýadymyz” şuňa meňzeýä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>
Taslamamyzyň üstünde işlemegi dowam etdirip bileris. Let'söne geliň, Apache Commons IO wersiýasyny 2.0-a üýtgedip, taslamany gurup başlalyň. Alýarys: [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] Bu ýerde plugin sebäpli döredilen ýalňyşlyk bar. Erroralňyşlyk habary 2.6 elýeterli bolanda 2.0 wersiýasyny ulanýandygymyzy görkezýär. Umuman, Maven gaty peýdaly guraldyr. Ilkibaşda ulanmak kyn ýaly bolup görünmegi mümkin, ýöne praktika ediň, Maveniň aşagynda taslamalaryňyzy dörediň we belli bir wagtdan soň netijä gaty begenersiňiz. Bu makalada Maven hakda köp jikme-jiklikler bilgeşleýin aýryldy - esasy zatlara üns berdik. Perfectöne kämilligiň çägi ýok: Maven hakda has köp önümiň resmi web sahypasynda okap bilersiňiz . Bölüm 5. Hyzmatkärler. Webönekeý web programmasyny ýazmak 6-njy bölüm. Servlet gaplary 7-nji bölüm. MVC (Model-View-Controller) nagşy bilen tanyşdyrmak 8-nji bölüm.
Teswirler
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION