JavaRush /Kurslar /All lectures for AZ purposes /Layihənin Maven ilə yerləşdirilməsi

Layihənin Maven ilə yerləşdirilməsi

All lectures for AZ purposes
Səviyyə , Dərs
Mövcuddur

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-guimanager-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ı
  • serversettings.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.

Şərhlər
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION