CodeGym /Java блог /Случаен /Част 4. Основите на Maven
John Squirrels
Ниво
San Francisco

Част 4. Основите на Maven

Публикувано в групата
Този материал е част от поредицата "Въведение в развитието на предприятието". Предишни статии: Част 4. Основите на Maven - 1Maven е инструмент за управление и изграждане на проекти — полезен помощник на Java програмист. Това улеснява живота на разработчиците на всеки етап от работата: от създаването на структурата на проекта и свързването на необходимите библиотеки до разполагането на продукта на сървъра. Ще трябва да използвате Maven, когато работите с която и да е рамка. И така, нека днес да разгледаме основните му функции и да видим How да ги използваме.

Стъпка по стъпка инсталация на Maven

  1. Първо, трябва да инсталираме Maven. Изтеглете го от тази връзка .

  2. След това разархивирайте изтегления архив и задайте променливата на средата M2_HOME на местоположението на разархивирания архив. Например C:\\Program Files\\maven\\

  3. За да сте сигурни, че всичко е инсталирано, изпълнете следното в командния ред:

    mvn -version

  4. Ако се покаже информацията за versionта за Maven, Java и т.н., тогава всичко е готово за работа.

  5. Сега отворете IntelliJ IDEA и създайте нов проект. В първия прозорец изберете Maven:

    Част 4. Основите на Maven - 2
  6. Кликнете върху "Напред" и попълнете прозореца, който се показва:

    Част 4. Основите на Maven - 3
  7. След това, Howто обикновено, създайте проект, където искате.

    След като проектът е създаден, обърнете внимание на неговата структура:

    Част 4. Основите на Maven - 4
Това е стандартната структура на проект на Maven :
  • папката src /main/java съдържа Java класовете
  • папката src/main/resources съдържа ресурсите, използвани от приложението (HTML страници, изображения, таблици със стилове и т.н.)
  • папката src/test е за тестове
Обърнете внимание и на file, наречен pom.xml . Това е основният файл за управление на Maven . Цялото описание на проекта се съдържа тук. В момента няма твърде много информация, но сега ще я добавим.

Управление на зависимости в Maven

Може да сте срещали фразата "мениджър на зависимости". Maven знае How да управлява зависимостите. Благодарение на Maven не е нужно да прекарвате много време в търсене в интернет на необходимата библиотека, изтеглянето й и след това свързването й към вашия проект. Вместо това просто добавяте необходимата библиотека към списъка със зависимости в Maven.

Зависимостите са посочени във възела за зависимости на file pom.xml

Да приемем, че имате нужда от библиотеката Apache Commons IO във вашия проект, за да опростите работата с файлове. За да добавим библиотека, пишем пет реда в pom.xml:

<dependency>
   <groupId>commons-io</groupId>
   <artifactId>commons-io</artifactId>
   <version>2.6</version>
</dependency>
Сега вашият pom.xml файл трябва да изглежда така:

  <?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>
След това позволете на IntelliJ IDEA да импортира зависимостта (в долния десен ъгъл трябва да се появи диалогов прозорец). Сега библиотеката е готова за използване:

import org.apache.commons.io.FileUtils;

import java.io.File;

public class TestMaven {
   public static void main(String[] args) {
       File tempDirectory = FileUtils.getTempDirectory();
   }
}
Всички последващи зависимости също трябва да бъдат записани вътре в <dependencies>тага. Може би се чудите How да разберете информацията за библиотеката, която трябва да посочите в <dependency>тага. Това е лесно. Винаги трябва да се задават три параметъра: "groupId", "artifactId" и "version". Има два начина за определяне на тези параметри:
  1. На сайта на библиотеката. Ако имаме нужда от библиотеката Apache Commons IO, отиваме на официалния уебсайт и избираме раздела „Информация за зависимостите“. Цялата необходима информация е тук — можете просто да я копирате и да я добавите към <dependencies>възела.

  2. В хранorще на Maven . Въведете „apache commons io“ в лентата за търсене и ще видите всички налични версии на библиотеката. След като изберете правилния, просто копирайте следното:

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

    и го добавете към вашия pom.xml.

Видове хранorща на Maven

Заслужава си да споменем отново хранorщата на Maven, защото всъщност имаме две от тях: отдалечено ( централно) хранorще и локално (на вашия компютър) хранorще. Всички библиотеки, които добавяте към вашите проекти, се записват в локалното хранorще. Когато Maven добави необходима зависимост към проект, той първо проверява дали библиотеката вече съществува в локалното хранorще. Той има достъп до отдалеченото хранorще само ако не намери библиотеката локално. Както можете да видите, можете да използвате Maven за добавяне на зависимости, но това не е всичко, което може да направи.

Изграждане на Java проект с помощта на Maven

Тази възможност може да изглежда безсмислена за начинаещ. Защо имаме нужда от това, ако имаме IDE? Нека обясня. Първо, сървърът, където трябва да изградите своето приложение, може да няма нито среда за разработка, нито графичен интерфейс. Второ, при големи проекти Maven върши по-добра работа при изграждането на проекта. Така че без допълнително сбогом, ще разгледаме процеса на изграждане на приложение с помощта на Maven.

Фази

Процесът на изграждане на приложение е известен като жизнен цикъл на проекта на Maven и се състои от фази. Можете да ги разгледате в IDEA, като щракнете върху Maven > пример > Жизнен цикъл в горния десен ъгъл: Част 4. Основите на Maven - 5Както можете да видите, има 9 фази:
  1. clean — премахва всички компorрани файлове от целевата директория (мястото, където се записват готовите артефакти)
  2. validate — проверява дали е налице цялата информация, необходима за изграждане на проекта
  3. компorране — компorра файлове с изходен code
  4. test — стартира тестове
  5. пакет — пакетира компorрани файлове (в JAR, WAR и др. архив)
  6. verify — проверява дали пакетираният файл е готов
  7. install — поставя пакета в локалното хранorще. Сега може да се използва от други проекти като външна библиотека
  8. сайт — изработва проектна documentация
  9. разгръщане — копира изградения архив в отдалеченото хранorще
Всички фази се изпълняват последователно: например, четвъртата фаза не може да бъде стартирана, докато не бъдат завършени фази 1-3. Има два начина да започнете фаза:
  • чрез командния ред:

    mvn пакет

    Част 4. Основите на Maven - 6
  • използвайки IntelliJ IDEA:

    Част 4. Основите на Maven - 7

    Преди да започне фазата на пакета, се извършват фазите на валидиране, компorране и тестване. Чистата фаза е изключение. Добра идея е да стартирате тази фаза преди всяко изграждане на проекта. Можете да изброите няколко фази, като ги разделите с интервали:

    mvn чист пакет.

Освен това всяка фаза има фази преди и след: например предварително разгръщане, след разгръщане, предварително почистване, последващо почистване и т.н., но те се използват доста рядко. Освен това всяка фаза има цели. Стандартните цели са зададени по подразбиране. Допълнителни цели се добавят от приставките на Maven. Понякога по време на фаза може да се наложи да изпълните допълнителни функции. За това има добавки на Maven. Списък с официални плъгини може да бъде намерен на уебсайта на Maven . Но трябва да знаете, че има много персонализирани добавки, които могат да бъдат намерени на уебсайтове на трети страни. И разбира се, ако възникне няHowва екзотична нужда, винаги можете сами да напишете персонализиран плъгин .

Плъгини

За да добавим плъгин Maven към проекта, трябва да добавим неговото описание към file pom.xml, като използваме <build>и <plugins>тагове, подобно на това How добавихме зависимости. Да предположим например, че имаме нужда от плъгин, за да проверим дали използваме най-новата version на всички наши външни библиотеки. След малко търсене в интернет можете да намерите този плъгин и инструкции How да го използвате. Нека зададем groupId, artifactId и version. Ще посочим Howви цели трябва да изпълни плъгинът и на коя фаза. В нашия случай проверката на зависимостта в текущия pom.xml е настроена да се извършва по време на фазата на валидиране. Сега нашият файл pom.xml изглежда така:

<?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>
Можем да продължим да работим по нашия проект. Но нека опитаме да променим versionта на Apache Commons IO на 2.0 и да изградим проекта. Ще получим

[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]
Тук имаме грешка при компorране, генерирана от плъгина. Съобщението за грешка гласи, че използваме version 2.0, когато е налична version 2.6. По принцип Maven е много полезен инструмент. Може би в началото ще изглежда трудно за използване, но практикувайте! Създавайте вашите проекти с помощта на Maven и след известно време ще бъдете много доволни от крайния резултат. Тази статия умишлено пропусна много подробности за Maven - ние се съсредоточихме върху най-същественото. Но няма ограничение за подобрение: можете да прочетете повече за Maven на официалния му уебсайт . Част 5. Сървлети и Java Servlet API. Писане на просто уеб приложение Част 6. Контейнери на сервлети Част 7. Представяне на модела MVC (Model-View-Controller)
Коментари
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION