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.
GO TO FULL VERSION