CodeGym /Java blog /Véletlen /4. rész. A Maven alapjai
John Squirrels
Szint
San Francisco

4. rész. A Maven alapjai

Megjelent a csoportban
Ez az anyag a "Bevezetés a vállalkozásfejlesztésbe" sorozat része. Korábbi cikkek: 4. rész A Maven alapjai - 1A Maven egy eszköz projektek menedzselésére és építésére – a Java programozó segítőkész asszisztense. Ez megkönnyíti a fejlesztők életét a munka minden szakaszában: a projektstruktúra létrehozásától és a szükséges könyvtárak csatlakoztatásától a termék telepítéséig a szerveren. Ha bármilyen keretrendszerrel dolgozik, a Maven-t kell használnia. Tehát ma vessünk egy pillantást a fő funkcióira, és nézzük meg, hogyan kell használni őket.

A Maven telepítése lépésről lépésre

  1. Először is telepítenünk kell a Maven-t. Töltsd le erről a linkről .

  2. Ezután csomagolja ki a letöltött archívumot, és állítsa be az M2_HOME környezeti változót a kicsomagolt archívum helyére. Például: C:\\Program Files\\maven\\

  3. Annak érdekében, hogy minden telepítve legyen, hajtsa végre a következőt a parancssorban:

    mvn -verzió

  4. Ha a Maven, Java stb. verzióinformációi megjelennek, akkor minden készen áll a használatra.

  5. Most nyissa meg az IntelliJ IDEA-t, és hozzon létre egy új projektet. Az első ablakban válassza a Maven lehetőséget:

    4. rész A Maven alapjai - 2
  6. Kattintson a "Tovább" gombra, és töltse ki a megjelenő ablakot:

    4. rész A Maven alapjai - 3
  7. Ezután a szokásos módon hozzon létre egy projektet, ahol csak akar.

    A projekt létrehozása után vegye figyelembe a szerkezetét:

    4. rész A Maven alapjai - 4
Ez a Maven projekt szabványos szerkezete :
  • az src/main/java mappa tartalmazza a Java osztályokat
  • az src/main/resources mappa tartalmazza az alkalmazás által használt erőforrásokat (HTML oldalak, képek, stíluslapok stb.)
  • az src/test mappa a tesztekre szolgál
Ügyeljen a pom.xml nevű fájlra is . Ez a fő fájl a Maven kezeléséhez . A projekt teljes leírása itt található. Jelenleg nincs túl sok információ, de most kiegészítjük.

Függőségek kezelése a Mavenben

Lehet, hogy találkozott már a "függőségkezelő" kifejezéssel. Maven tudja, hogyan kell kezelni a függőségeket. A Mavennek köszönhetően nem kell sok időt töltenie azzal, hogy az interneten megkeresse a szükséges könyvtárat, letöltse, majd csatlakoztassa a projekthez. Ehelyett csak hozzá kell adnia a szükséges könyvtárat a Maven függőségek listájához.

A függőségek a pom.xml fájl függőségi csomópontjában vannak megadva

Tegyük fel, hogy szüksége van az Apache Commons IO könyvtárra a projektben a fájlokkal való munka egyszerűsítése érdekében. Könyvtár hozzáadásához írunk öt sort a pom.xml fájlba:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Most a pom.xml fájlnak így kell kinéznie:

  <?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>
Ezután engedélyezze az IntelliJ IDEA-nak, hogy importálja a függőséget (a jobb alsó sarokban egy párbeszédpanelnek kell megjelennie). Most a könyvtár készen áll a használatra:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Minden későbbi függőséget a címkén belül is meg kell írni <dependencies>. Kíváncsi lehet, hogyan találhatja meg a könyvtárral kapcsolatos információkat, amelyeket meg kell adnia a <dependency>címkén belül. Ez könnyű. Mindig három paramétert kell beállítani: "groupId", "artifactId" és "version". A paraméterek meghatározásának két módja van:
  1. A könyvtár honlapján. Ha szükségünk van az Apache Commons IO könyvtárra, felkeressük a hivatalos webhelyet, és kiválasztjuk a „Függőség információ” lapot. Minden szükséges információ itt található – egyszerűen átmásolhatja és hozzáadhatja a csomóponthoz <dependencies>.

  2. Egy Maven adattárban . Írja be az „apache commons io” kifejezést a keresősávba, és látni fogja a könyvtár összes elérhető verzióját. A megfelelő kiválasztása után egyszerűen másolja ki a következőket:

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

    és add hozzá a pom.xml-hez.

A Maven adattárak típusai

Érdemes ismét megemlítenünk a Maven tárolókat, mert valójában kettő van belőlük: egy távoli (központi) és egy helyi (a számítógépen lévő) tároló. A projektekhez hozzáadott összes könyvtár a helyi lerakatba kerül mentésre. Amikor a Maven egy szükséges függőséget ad egy projekthez, először ellenőrzi, hogy a könyvtár létezik-e már a helyi lerakatban. Csak akkor fér hozzá a távoli tárolóhoz, ha nem találja meg a könyvtárat helyben. Amint látja, a Maven segítségével függőséget adhat hozzá, de ez nem minden.

Java projekt készítése a Maven segítségével

Ez a képesség értelmetlennek tűnhet egy kezdő számára. Miért van szükségünk erre, ha van IDE-nk? Hadd magyarázzam. Először is, előfordulhat, hogy a kiszolgálónak, amelyen az alkalmazást fel kell építenie, nincs sem fejlesztői környezete, sem grafikus felülete. Másodszor, a nagy projekteknél a Maven jobb munkát végez a projekt felépítésében. Tehát további búcsú nélkül megfontoljuk az alkalmazás Maven segítségével történő felépítésének folyamatát.

Fázisok

Az alkalmazás elkészítésének folyamata a Maven projekt életciklusa, és fázisokból áll. Az IDEA-ban megtekintheti őket, ha a jobb felső sarokban a Maven > példa > Életciklus elemre kattint: 4. rész A Maven alapjai - 5Mint látható, 9 fázis van:
  1. tiszta – eltávolítja az összes lefordított fájlt a célkönyvtárból (a kész műtermékek mentési helyéről)
  2. érvényesítés – ellenőrzi, hogy a projekt felépítéséhez szükséges összes információ rendelkezésre áll-e
  3. fordítás — forráskódfájlokat fordít
  4. teszt – elindítja a teszteket
  5. csomag – összeállított fájlokat csomagol (JAR, WAR stb. archívumban)
  6. ellenőrzés — ellenőrzi, hogy a csomagolt fájl készen áll-e
  7. install — a csomagot a helyi lerakatba helyezi. Mostantól más projektek is használhatják külső könyvtárként
  8. oldal – projektdokumentációt készít
  9. telepítés – a beépített archívumot a távoli tárolóba másolja
Az összes fázist egymás után hajtják végre: például a negyedik fázist nem lehet elindítani, amíg az 1-3. fázis be nem fejeződik. A fázis elindításának két módja van:
  • a parancssoron keresztül:

    mvn csomag

    4. rész A Maven alapjai - 6
  • az IntelliJ IDEA használatával:

    4. rész A Maven alapjai - 7

    A csomagfázis megkezdése előtt megtörténik az érvényesítési, fordítási és tesztelési fázis. A tiszta fázis kivétel. Célszerű ezt a fázist a projekt minden egyes összeállítása előtt futtatni. Több fázist is felsorolhat, szóközzel elválasztva őket:

    mvn tiszta csomag.

Ezenkívül minden fázisnak vannak elő- és utófázisai: például telepítés előtti, utótelepítési, előtisztítási, utótisztítási stb., de ezeket meglehetősen ritkán használják. Ezenkívül minden fázisnak vannak céljai. A szabványos célok alapértelmezés szerint be vannak állítva. További célokat adnak hozzá a Maven bővítmények. Néha egy fázis során további funkciókat kell végrehajtania. Erre vannak Maven bővítmények. A hivatalos bővítmények listája a Maven weboldalán található . De tudnia kell, hogy sok egyéni beépülő modul található harmadik felek webhelyein. És természetesen, ha valami egzotikus igény merül fel, mindig írhat saját beépülő modult .

Beépülő modulok

Ahhoz, hogy egy Maven beépülő modult hozzáadhassunk a projekthez, hozzá kell adnunk annak leírását a pom.xml fájlhoz a <build>és <plugins>címkék használatával, hasonlóan ahhoz, ahogyan a függőségeket adtuk hozzá. Tegyük fel például, hogy szükségünk van egy beépülő modulra annak ellenőrzésére, hogy az összes külső könyvtárunk legújabb verzióját használjuk. Kis keresgélés után az interneten megtalálhatja ezt a beépülő modult és a használatára vonatkozó utasításokat. Állítsuk be a groupId-t, az artifactId-t és a verziót. Jelezzük, hogy a bővítménynek milyen célokat kell teljesítenie, és melyik fázisban. Esetünkben az aktuális pom.xml függőségi ellenőrzése az érvényesítési fázisban történik. Most a pom.xml fájlunk így néz ki:

<?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>
Folytathatnánk a munkát a projektünkön. De próbáljuk meg megváltoztatni az Apache Commons IO verzióját 2.0-ra, és felépíteni a projektet. Megkapjuk

[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]
Itt van egy összeállítási hiba, amelyet a bővítmény generált. A hibaüzenet azt jelzi, hogy a 2.0-s verziót használjuk, amikor a 2.6-os verzió elérhető. Alapvetően a Maven egy nagyon hasznos eszköz. Talán elsőre nehéznek tűnik a használata, de gyakorold! Hozza létre projektjeit a Maven segítségével, és egy idő után nagyon elégedett lesz a végeredménnyel. Ez a cikk szándékosan kihagyott sok részletet a Mavenről – mi a legfontosabbakra összpontosítottunk. De a fejlesztésnek nincs határa: a Mavenről bővebben a hivatalos honlapján olvashat . 5. rész. Szervletek és a Java Servlet API. Egyszerű webalkalmazás írása 6. rész. Szervlet konténerek 7. rész Az MVC (Model-View-Controller) minta bemutatása
Hozzászólások
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION