JavaRush /Java блогу /Random-KY /4-бөлүк: Maven негиздери
Professor Hans Noodles
Деңгээл

4-бөлүк: Maven негиздери

Группада жарыяланган
Бул материал "Ишкананы өнүктүрүүгө киришүү" сериясынын бир бөлүгү болуп саналат. Мурунку макалалар: 4-бөлүк. Maven негиздери - 1Maven бул долбоорлорду башкаруу жана куруу үчүн курал - Java программистинин чыныгы жардамчысы. Бул иштин бардык этаптарында иштеп чыгуучунун жашоосун жеңилдетет: долбоордун структурасын түзүү жана керектүү китепканаларды туташтыруудан баштап продуктуну serverде жайылтууга чейин. Кандайдыр бир фреймворк менен иштөөдө сиз Mavenди колдонушуңуз керек болот. Келгиле, бүгүн анын негизги функцияларын карап көрөлү жана аларды кантип колдонуу керектигин карап көрөлү.

Mavenди этап-этабы менен орнотуу

  1. Алгач сиз Mavenди бул шилтемеден жүктөп алып орнотушуңуз керек .

  2. Андан кийин, жүктөлүп алынган архивди таңгактан чыгарып, M2_HOME чөйрө өзгөрмөсүн таңгактан чыгарылган архивдин жайгашкан жерине шилтеме кылып орнотушуңуз керек. Мисалы, C:\Program Files\maven\

  3. Баары орнотулганын текшерүү үчүн буйрук сабына жазыңыз:

    mvn-version

  4. Maven, Java ж.б. үчүн version маалыматы көрсөтүлсө, сиз барууга даярсыз.

  5. Эми IntelliJIDEA ачып, жаңы долбоор түзүңүз. Биринчи терезеде Maven тандаңыз:

    4-бөлүк. Maven негиздери - 2
  6. Кийинки баскычын чыкылдатып, төмөнкү диалог кутучасын толтуруңуз:

    4-бөлүк. Maven негиздери - 3
  7. Андан кийин, стандарт катары керектүү жерде долбоор түзүңүз.

    Долбоор түзүлгөндөн кийин, анын структурасына көңүл буруңуз:

    4-бөлүк. Maven негиздери - 4
Бул Maven долбоору үчүн стандарттуу структура болуп саналат :
  • src/main/java папкасында java класстары бар;
  • src /main/resources - биздин тиркеме колдонгон ресурстар (HTML баракчалары, сүрөттөр, стилдер жадыбалдары ж.б.);
  • src/test - тесттер үчүн.
Ошондой эле pom.xml деп аталган файлга көңүл буруңуз . Бул Maven башкаруу үчүн негизги файл болуп саналат . Долбоордун толук сүрөттөлүшү бул жерде камтылган. Азырынча көп маалымат жок, бирок азыр кошобуз.

Mavenдеги көз карандылыкты башкаруу

Сиз "көз карандылык менеджери" же "көз карандылык менеджери" деген сөз айкашына туш болгон болушуңуз мүмкүн. Maven баарын кыла алат. Mavenдин аркасында сизге керектүү китепкананы Интернеттен издеп, аны жүктөп алып, андан кийин долбоорго туташтырууга көп убакыт коротуунун кереги жок: жөн гана керектүүсүн Maven көз карандылыктарынын тизмесине кошуңуз. Көз карандылыктар 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();
   }
}
Бардык кийинки көз карандылыктар да <көз карандылык> тегинин ичинде жазылышы керек. Сизди кызыктырышы мүмкүн: <көз карандылык> тегинин ичиндеги китепкана жөнүндө кандай маалыматты камтышы керек экенин кайдан билесиз? Бул жерде баары жөнөкөй. Мындай учурларда, үч параметр ар дайым көрсөтүлөт: groupId, artifactId жана version. Бул параметрлерди эки жол менен биле аласыз:
  1. Китепкананын сайтында. Бизге Apache Commons IO керек болсо, расмий веб-сайтка өтүп, Көз карандылык маалыматы өтмөгүн тандаңыз. Бардык керектүү маалыматтар бул жерде - сиз аны жөн гана көчүрүп, биздин көз карандылыктар бөлүмүнө кошсоңуз болот.

  2. Maven репозиторийинде . Издөөдө "apache commons io" деп киргизиңиз жана китепкананын бардык жеткorктүү versionларын көрөсүз. Керектүүсүн тандагандан кийин, жөн гана көчүрүңүз:

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

    жана pom.xml файлыңызга кошуңуз.

Maven репозиторийлеринин түрлөрү

Maven репозиторийине дагы бир жолу токтоло кетели, анткени бизде алардын экөөсү бар - тышкы (глобалдык) жана жергorктүү, сиздин компьютериңизде. Долбооруңузга кошкон бардык китепканалар жергorктүү репозиторийде сакталат. Maven долбоорго талап кылынган көз карандылыкты кошкондо, адегенде локалдык репозиторийде мындай китепкананын бар-жоктугун текшерет жана ал жерден таппаса, сырткыга кайрылат. Көрүнүп тургандай, сиз Mavenди көз карандылыкты кошуу үчүн колдонсоңуз болот, бирок мунун баары ал жасай алbyte.

Maven аркылуу Java долбоорун куруу

Бул өзгөчөлүк жаңы келгендер үчүн маанисиз сезorши мүмкүн. IDE бар болсо, бул эмне үчүн керек? Бирок жок! Биринчиден, сиз тиркемени кура турган serverде иштеп чыгуу чөйрөсү гана эмес, графикалык интерфейси да болушу мүмкүн. Экинчиден, ири долбоорлор боюнча, Maven долбоорду чогултуу милдеттерин жакшыраак аткарат. Ошондуктан, келгиле, күтүү менен өзүбүздү кыйнабай, Maven аркылуу тиркеме куруу процессин карап көрөлү.

Фазалар

Тиркемени куруу процесси Maven долбоорунун жашоо цикли деп аталат жана ал фазалардан турат. Сиз аларды IDEAдан көрө аласыз Maven>мисалы>Жашоонун цикли жогорку оң бурчтагы: 4-бөлүк. Maven негиздери - 5Көрүнүп тургандай, 9 фаза бар:
  1. таза - максаттуу каталогдон бардык компиляцияланган файлдарды жок кылат (даяр артефакттар сакталган жер);
  2. валидация - долбоорду куруу үчүн бардык маалыматтардын бар же жок экендигин текшерүү;
  3. компиляция - баштапкы codeу бар файлдар компиляцияланат;
  4. тест — тесттер ишке киргизилди;
  5. пакет – компиляцияланган файлдар пакеттелет (банкага, согушка ж.б. архивге);
  6. текшерүү — пакеттелген файлдын даярдыгын тастыктоо үчүн текшерүүлөр жүргүзүлөт;
  7. орнотуу - пакет жергorктүү репозиторийге жайгаштырылат. Эми аны башка долбоорлордо тышкы китепкана катары колдонсо болот;
  8. сайт - долбоордук documentтер түзүлөт;
  9. жайгаштыруу - чогултулган архив алыскы репозиторийге көчүрүлөт.
Бардык фазалар ырааттуу түрдө аткарылат: 1-3-фазалар бүтмөйүнчө, айталы, төртүнчү фазаны баштоого болбойт. Этапты баштоонун эки жолу бар:
  • буйрук сабы аркылуу:

    mvn пакети

    4-бөлүк. Maven негиздери - 6
  • Intellij IDEA колдонуу:

    4-бөлүк. Maven негиздери - 7

    Пакет ишке киргизилгенге чейин текшерүү, компиляция жана сыноо этаптары аткарылат. Таза фаза өзгөчө болуп саналат. Бул ар бир жаңы долбоор куруу алдында аны чакыруу үчүн жөндүү. Фазаларды боштуктар менен бөлүп көрсөтүүгө болот:

    mvn таза пакет.

Ошондой эле, ар бир фазанын алдындагы жана кийинки фазалары бар: мисалы, жайылтууга чейинки, жайгаштыруудан кийинки, алдын ала тазалоо, тазалоодон кийинки, бирок алар өтө сейрек колдонулат. Мындан тышкары, ар бир этаптын максаттары бар. Стандарттык максаттар демейки боюнча камтылган, кошумчалары Maven плагиндери тарабынан кошулат. Кээде кандайдыр бир этапта кошумча функцияларды аткарууга туура келет. Бул үчүн Maven плагиндери бар. Расмий плагиндердин тизмесин Maven сайтынан тапса болот . Бирок үчүнчү тараптын ресурстарынан тапса болот дагы эле көптөгөн салт плагиндер бар экенин билебиз. Ооба, албетте, кандайдыр бир экзотикалык муктаждык бар болсо, сизде ар дайым ушундай плагинди өз алдынча жазуу мүмкүнчүлүгү бар .

Плагиндер

Maven плагинин долбоорго кошуу үчүн, анын сыпаттамасы, көз карандылыктарга окшош, pom.xml ичинде <build> жана <plugins> тегдеринде жайгаштырылышы керек. Мисалы, бардык тышкы китепканаларыбыз эң акыркы versionларды колдонуп жатканын текшерүү үчүн бизге плагин керек. Интернетте бир аз издегенден кийин, бул плагинди колдонуу көрсөтмөлөрү менен таба аласыз. Келгиле, анын groupId, artifactId жана versionсын коелу. Келгиле, ал кандай максаттарды жана кайсы этапта аткарышы керек экенин жазып көрөлү. Биздин учурда, учурдагы 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>
Биз дагы эле биздин долбоордун үстүндө иштей алабыз. Бирок келгиле, Apache Commons IO versionсын 2.0 versionсына өзгөртүп, долбоорду курууну баштайлы. Биз алабыз: [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] Бул жерде бизде плагин менен шартталган куруу катасы бар. Ката кабарында биз 2.6 versionсы жеткorктүү болгондо 2.0 versionсын колдонуп жатабыз деп айтылат. Жалпысынан алганда, Maven абдан пайдалуу курал болуп саналат. Башында колдонуу кыйындай сезorши мүмкүн, бирок машыгыңыз, Maven астында долбоорлоруңузду түзүңүз жана бир аз убакыт өткөндөн кийин натыйжага абдан ыраазы болосуз. Бул макала атайылап Maven жөнүндө көптөгөн майда-чүйдөсүнө чейин калтырылган - биз негизги нерселерге көңүл бурдук. Бирок кемчorксиздикке эч кандай чек жок: сиз Maven жөнүндө көбүрөөк окуй аласыз буюмдун расмий сайтында . 5-бөлүк. Сервлеттер. Жөнөкөй веб-тиркеме жазуу 6-бөлүк. Сервлет контейнерлери 7-бөлүк. MVC (Модель-Көрүү-Контроллер) үлгүсүн киргизүү 8-бөлүк. Чакан жазгы жүктөө тиркемесин жазуу
Комментарийлер
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION