JavaRush /Kurslar /All lectures for UZ purposes /Maven yordamida loyihani ishga tushirish

Maven yordamida loyihani ishga tushirish

All lectures for UZ purposes
Daraja, Dars
Mavjud

maven-deploy-plugin'dan foydalanamiz

Bu usul endi ishlatilmaydi, lekin uni bilish zarar qilmaydi

Yana bir qiziqarli mavzu — to'plangan paketni avtomatik deploy qilish. Tasavvur qiling, biz o'z kutubxonamizni Maven yordamida yig'dik. Uni qanday qilib avtomatik ravishda lokal, korporativ yoki markaziy Maven-repozitoriga joylashtirish mumkin?

Buning uchun Maven'da maxsus plagin maven-deploy-plugin mavjud. Misol:

    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.5</version>
    	<configuration> <file>${project.build.directory}\${project.artifactId}-src.zip</file>
          <url>${project.distributionManagement.repository.url}</url> <repositoryId>${project.distributionManagement.repository.id}</repositoryId>
          <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <version>${project.version}</version>
      	  <packaging>zip</packaging> <pomFile>pom.xml</pomFile>
    	</configuration>
  	</plugin>

Ushbu sozlamalar bilan siz to'plangan kutubxonani Maven-repozitoriga to'g'ri paket sifatida joylashtira olasiz. Ushbu jarayonni batafsil tahlil qilmaymiz, lekin qisqacha ko'rib chiqamiz:

file tegasi, Maven'ga yangi kutubxona sifatida yuboriladigan faylni belgilaydi.

url tegasi — Maven-repozitorining yo'li (lokal/korporativ/…).

repositoryId tegasi deploy qilinadigan repozitoriyaning identifikatorini belgilaydi.

groupId, artifactId, version tegasi Maven-repozitoridagi paketni standart identifikatsiya qilishni belgilaydi. Aynan shu uchta parametr yordamida kutubxonani aniq belgilash mumkin.

packaging tegasi, natijani bir zip-fayl sifatida yuborish uchun ishlatiladi. Agar u ko'rsatilmasa, bitta jar-fayl bo'ladi, hatto bir nechta jar-faylingiz bo'lsa ham.

pomFile tegasi ixtiyoriy va repositorga boshqa pom.xml yuborish imkonini beradi, unda yashirin yoki xizmat ma'lumotlari yo'q.

Maven yordamida Tomcat'da web-ilovani ishga tushirish

Java'da web-ilovalar uchun eng mashhur web-server Apache Tomcat. Albatta, Maven yordamida war-fayllarni lokal yoki hatto uzoqdagi Tomcat-serverga deploy qilish mumkin.

Tomcat o'rnatish va sozlashni qandaydir bir vaqtda o'rganib chiqamiz, hozir esa faqat web-ilovamizni avtomatik deploy qilish mavzusiga to'xtalamiz.

Birinchi qadam. Maven'ga Tomcat-serverga kirishni ta'minlashimiz kerak. Buning uchun Apache Tomcat artografiyasida conf/tomcat-users.xml faylini ochamiz va manager-gui va manager-script rollarini qo'shamiz:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager-gui"/>
  <role rolename="manager-script"/>
  <user username="admin" password="admin" roles="manager-gui,manager-script" />
</tomcat-users>

Ikkinchi qadam. Maven'ga Tomcatga kirishni ruxsat beramiz. Buning uchun $MAVEN_HOME/conf/settings.xml faylini ochamiz va server qo'shamiz:

<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
  <servers>
	<server> <id>TomcatServer</id> <username>admin</username> <password>admin</password> </server>
  </servers>
</settings>

Uchinchi qadam. Apache Tomcat'da ilovamizni avtomatik deploy qilish uchun maxsus plagin qo'shamiz. Plagin tomcat7-maven-plugin deb nomlanadi. Bu Maven ishlab chiqaruvchilari emas, balki Tomcat ishlab chiqaruvchilari tomonidan yaratilgan, bu nomidan ham aniq.

	<build>
    	<plugins>
        	<plugin>
                <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration>
                    <url>http://localhost:8080/manager/text</url>
                    <server>TomcatServer</server>
                	<path>/simpleProject</path>
            	</configuration>
        	</plugin>
    	</plugins>
	</build>

Configuration bo'limida quyidagilarni ko'rsatamiz:

  • url — Tomcat'ning ishga tushirilgan manzili va manager/text yo'li
  • server — settings.xml faylidagi server id'si
  • path — deploy qilinadigan ilovaga kirish manzili

Deploy boshqarish uchun komandalar:

mvn tomcat7:deploy Ilovani Tomcat'da deploy qilish
mvn tomcat7:undeploy Ilovani Tomcat'dan o'chirish
mvn tomcat7:redeploy Ilovani qayta deploy qilish

Cargo Plugin yordamida deploy

Veb-ilovani deploy qilish uchun yana bir foydali va universal plagin Cargo Plugin. U turli turdagi veb-serverlar bilan ishlashni biladi. Mana Apache Tomcat'da deploy qilishning usuli:

<build>
    <plugins>
    	<plugin>
            <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.9.10</version> <configuration> <container>
                	<containerId>tomcat8x</containerId>
                    <type>installed</type> <home>Insert absolute path to tomcat 7 installation</home>
            	</container> <configuration>
                    <type>existing</type> <home>Insert absolute path to tomcat 7 installation</home>
            	</configuration> </configuration>
   	    </plugin>
    </plugins>
</build>

Lokal Tomcat'da veb-ilovani o'rnatish uchun quyidagi komandalarni bajaring:

mvn install
mvn cargo:deploy

Agar uzoqdagi veb-serverga deploy qilishni xohlasak, unda bu serverga kirish huquqlarini sozlash kerak bo'ladi. Buning uchun ularni pom.xml faylida yozish kifoya:

<configuration>
	<container> <containerId>tomcat8x</containerId> <type>remote</type> </container>
	<configuration> <type>runtime</type> <properties>
            <cargo.remote.username>admin</cargo.remote.username> <cargo.remote.password>admin</cargo.remote.password> <cargo.tomcat.manager.url>http://localhost:8080/manager/text</cargo.tomcat.manager.url>
    	</properties> </configuration> </configuration>

IntelliJ IDEA yordamida deploy

Intellij IDEA hamma ishni o'zi qiladi, faqat o'rnatilgan Tomcat kerak.

Birinchi qadam. Lokal Tomcat konfiguratsiyasini yaratamiz:

Ikkinchi qadam. Keyin lokal Tomcat'ni tanlaymiz:

Uchinchi qadam. Tomcat'ni konfiguratsiyalaymiz:

To'rtinchi qadam. Tomcat papkasiga yo'l qo'shamiz.

Beshinchi qadam. Loyihamizni Tomcat'ga artefakt sifatida qo'shamiz.

Buning uchun Deployment bo'limiga o'tamiz va o'ng tomonda + tugmasini bosamiz.

Mana shu hammasi.

Aytgancha, agar sizga uzoqdagi serverga deploy qilish kerak bo'lsa, ikkinchi qadamda Remote Tomcat'ni tanlang.

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION