maven-deploy-plugin-dən istifadə etmək
Bu yanaşma artıq istifadə edilmir, amma bunu bilmək ziyan etməz
Və yenə də çox maraqlı bir mövzu — avtomatik olaraq yığılan paketin deploy olunması. Tutaq ki, biz öz kitabxanamızı Maven ilə yığmışıq. Onu avtomatik olaraq yerli, korporativ və ya mərkəzi Maven depozitariyasına necə yükləyək?
Bunun üçün Maven-də xüsusi bir plugin var - maven-deploy-plugin. Nümunə:
<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>
Bu ayarlarla yığılan kitabxananı Maven depozitariyasına etibarlı paket kimi yükləyə bilərsən. Bu prosesi ətraflı müzakirə etməyəcəyik, amma qısaca nələrin baş verdiyini müzakirə edək:
file etiketi, Maven depozitariyasına yeni kitabxana kimi yüklənəcək faylı göstərir.
url etiketi — Maven depozitarisinin yolu (yerli/korporativ/…).
repositoryId etiketi, deploy ediləcək depozitarinin identifikatorunu təyin edir.
groupId, artifactId, version etiketləri, Maven depozitarisində paketin standart identifikasiyasını təyin edir. Məhz bu üç parametrə görə, kitabxana birmənalı və asanlıqla identifikasiya edilir.
packaging etiketi, nəticənin bir zip faylı kimi göndərilməsini təmin etmək üçün istifadə olunur. Əgər bu göstərilməzsə, bir neçə jar-fayl olsa belə yalnız bir jar-fayl olacaqdır.
pomFile etiketi opsionaldır və depozitarisiyaya digər pom.xml faylını göndərməyə imkan verir, hansı ki, gizli və ya xidməti məlumatları ehtiva etmir.
Maven ilə Tomcat-də web-tətbiqi yerləşdirmək
Java üçün ən populyar web-server — Apache Tomcat. Təbii ki, Maven ilə war-faylları yerli və ya hətta uzaq Tomcat-serverinə yerləşdirmək mümkündür.
Tomcat quraşdırmaq və konfiqurasiya etməyi sonralar öyrənəcəyik, amma indi yalnız web-tətbiqimizin avtomatik yerleştirilmesi mövzusuna toxunacıq.
Birinci addım. Maven'ə Tomcat-serverinə giriş icazəsi verməliyik. Bunun üçün Apache Tomcat yükləndiyi qovluqdakı conf/tomcat-users.xml faylını açırıq və manager-gui və manager-script rollarını əlavə edirik:
<?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>
İkinci addım. Maven’ə Tomcat’a giriş icazəsi veririk. Bunun üçün $MAVEN_HOME/conf/settings.xml faylını açırıq və server əlavə edirik:
<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
<servers>
<server> <id>TomcatServer</id> <username>admin</username> <password>admin</password> </server>
</servers>
</settings>
Üçüncü addım. Apache Tomcat-də tətbiqimizin avtomatlaşdırılmış deployu üçün xüsusi bir plugin əlavə edirik. Bu plugin, tomcat7-maven-plugin adlanır. Məxfi olaraq, bu plugin Maven tərtibatçıları tərəfindən deyil, Tomcat tərtibatçıları tərəfindən yaradılıb, adından bunu anlamaq olar.
<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>
Konfiqurasiya bölümündə göstərilir:
- url — Tomcat işlədiyi yerin və manager/text yolunun ünvanı
- server — settings.xml faylında göstərilən server id
- path — yerləşdirilən tətbiqin əldə ediləcək ünvanı
Deploy idarəetmə komandaları:
mvn tomcat7:deploy | Tomcat-də tətbiqi deploy etmək |
---|---|
mvn tomcat7:undeploy | Tətbiqi Tomcat-dən silmək |
mvn tomcat7:redeploy | Tətbiqi yeniden deploy etmək |
Cargo Plugin ilə yerləşdirmək
Veb tətbiqlər üçün daha bir faydalı və universial plugin — Cargo Plugin. O, müxtəlif tip veb-serverlərlə işləməyi bacarır. Apache Tomcat-də onunla deploy etmək belə mümkündür:
<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>Tomcat 7 quraşdırma üçün tam yol daxil edin</home>
</container> <configuration>
<type>existing</type> <home>Tomcat 7 quraşdırma üçün tam yol daxil edin</home>
</configuration> </configuration>
</plugin>
</plugins>
</build>
Yerel Tomcat-də web-tətbiqi quraşdırmaq üçün sadəcə olaraq bu komandaları icra et:
mvn install
mvn cargo:deploy
Əgər biz uzaq veb-serverdə deploy etmək istəyiriksə, o zaman bu serverə giriş icazələrini konfiqurasiya etməli olacağıq. Bunun üçün onları pom.xml faylında qeyd etmək lazımdır:
<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 ilə yerləşdirmək
Intellij IDEA bütün işi özü hal edir, yalnız Tomcat quraşdırılması lazımdır.
Birinci addım. Yerli Tomcat konfiqurasiyası yaradılır:

İkinci addım. Sonra yerli Tomcat seçilir:

Üçüncü addım. Tomcat konfiqurasiya edilir:

Dördüncü addım. Tomcat qovluğuna yol əlavə edilir.

Beşinci addım. Layihəmiz Tomcat'a artefakt kimi əlavə edilir.
Bunun üçün Deployment sekmesine keçib sağ tərəfdəki + düyməsini basın.

Vəssalam.
Əgər uzaq serverdə yerləşdirmə etmək lazımdırsa, sadəcə ikinci addımda Remote Tomcat seçin.
GO TO FULL VERSION