Folosind maven-deploy-plugin
Și un alt subiect foarte interesant este implementarea automată a pachetului asamblat. Să presupunem că ne-am construit propria bibliotecă folosind Maven. Cum îl împingem automat într-un depozit Maven local, corporativ sau central?
Maven are un plugin special maven-deploy-plugin pentru acest lucru . Exemplu:
<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>
Cu aceste setări, puteți împinge biblioteca construită în depozitul Maven ca pachet valid. Nu vom analiza acest proces în detaliu, ci vom analiza pe scurt ce se întâmplă aici:
Eticheta de fișier specifică un fișier care va fi trimis în depozitul Maven ca bibliotecă nouă.
Eticheta URL este calea către depozitul Maven (local/corporate/…).
Eticheta repositoryId specifică identificatorul depozitului în care se va face implementarea.
Etichetele groupId , artefactId , versiune definesc identificarea standard a pachetului în depozitul Maven. Prin acești trei parametri o bibliotecă poate fi identificată în mod unic.
Eticheta de ambalare este utilizată pentru a se asigura că rezultatul este trimis ca un singur fișier zip. Dacă nu îl specificați, atunci va exista un fișier jar, chiar dacă ați avut mai multe fișiere jar.
Eticheta pomFile este opțională și vă permite să trimiteți un alt pom.xml către depozit care nu conține date ascunse sau de supraîncărcare.
Implementarea unei aplicații web pe Tomcat folosind Maven
Cel mai popular server web pentru aplicații web Java este Apache Tomcat . Și, desigur, cu ajutorul lui Maven, puteți implementa fișiere de război direct pe un server Tomcat local sau chiar la distanță.
Vom învăța cum să instalăm și să configurați Tomcat cândva mai târziu, dar acum vom atinge doar subiectul implementării automate a aplicației noastre web.
Primul pas. Trebuie să îi oferim lui Maven acces la serverul Tomcat. Pentru a face acest lucru, deschideți fișierul conf/tomcat-users.xml în directorul în care Apache Tomcat este despachetat și adăugați rolurile manager-gui și manager-script :
<?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>
Pasul doi. Permiteți accesul lui Maven la Tomcat. Pentru a face acest lucru, deschideți fișierul $MAVEN_HOME/conf/settings.xml și adăugați serverul:
<?xml version="1.0" encoding="UTF-8"?>
<settings ...>
<servers>
<server>
<id>TomcatServer</id>
<username>admin</username>
<password>admin</password>
</server>
</servers>
</settings>
Pasul trei. Adăugăm un plugin special pentru implementarea automată a aplicației noastre în Apache Tomcat. Pluginul se numește tomcat7-maven-plugin . Apropo, a fost creat nu de dezvoltatorii Maven, ci de dezvoltatorii Tomcat, după cum puteți ghici din nume.
<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>
În secțiunea de configurare, specificați:
- url este adresa la care rulează Tomcat și calea către manager/text
- server - ID server din fișierul settings.xml
- cale - adresa unde va fi disponibilă aplicația implementată
Comenzi de gestionare a implementării:
mvn tomcat7:deploy | Implementați aplicația în Tomcat |
---|---|
mvn tomcat7:undeploy | Eliminați aplicația din Tomcat |
mvn tomcat7:redeploy | Reinstalați aplicația |
Implementați cu Cargo Plugin
Un alt plugin util și versatil pentru implementarea aplicațiilor web este Cargo Plugin . Știe să lucreze cu diferite tipuri de servere web. Iată cum să o implementați în Apache Tomcat:
<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>
Pentru a instala aplicația web pe Tomcat-ul local, trebuie doar să rulați comenzile:
mvn install
mvn cargo:deploy
Dacă dorim să implementăm pe un server web la distanță, atunci va trebui să setăm drepturi de acces la acest server. Pentru a face acest lucru, trebuie doar să le înregistrați în pom.xml :
<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>
Implementați cu IntelliJ IDEA
Intellij IDEA face toată munca în sine, tot ce aveți nevoie este un Tomcat instalat .
Primul pas. Creați o configurație Tomcat locală:
Pasul doi. Apoi selectați Tomcat-ul local:
Pasul trei. Configurarea Tomcat:
Pasul patru. Adăugați calea în folderul Tomcat.
Pasul cinci. Adăugăm proiectul nostru ca artefact la Tomcat.
Pentru a face acest lucru, accesați fila Implementare și faceți clic pe butonul + din dreapta .
Asta e tot.
Apropo, dacă trebuie să implementați pe un server la distanță, selectați Remote Tomcat în al doilea pas.
GO TO FULL VERSION