Använder maven-deploy-plugin

Och ett annat mycket intressant ämne är den automatiska distributionen av det sammansatta paketet. Låt oss säga att vi byggde vårt eget bibliotek med Maven. Hur skickar vi det automatiskt till ett lokalt, företags- eller centralt Maven-förråd?

Maven har en speciell maven-deploy-plugin- plugin för detta . Exempel:

    <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>

Med dessa inställningar kan du skicka det inbyggda biblioteket till Maven-förvaret som ett giltigt paket. Vi kommer inte att analysera denna process i detalj, utan kortfattat överväga vad som händer här:

Filtaggen anger en fil som kommer att skickas till Maven-förvaret som ett nytt bibliotek .

URL -taggen är sökvägen till Maven-förvaret (lokalt/företag/...).

RepositoryId -taggen anger identifieraren för arkivet till vilket distributionen kommer att göras.

GroupId , artifactId , versionstaggarna definierar standardpaketets identifiering i Maven-förvaret . Det är genom dessa tre parametrar som ett bibliotek kan identifieras unikt.

Förpackningsetiketten används för att säkerställa att resultatet skickas som en enda zip-fil . Om du inte anger det kommer det att finnas en jar-fil, även om du hade flera jar-filer.

Taggen pomFile är valfri och låter dig skicka en annan pom.xml till förvaret som inte innehåller dolda eller overheaddata.

Distribuera en webbapplikation till Tomcat med Maven

Den mest populära webbservern för Java-webbapplikationer är Apache Tomcat . Och naturligtvis, med hjälp av Maven, kan du distribuera krigsfiler direkt till en lokal eller till och med fjärransluten Tomcat-server.

Vi kommer att lära oss hur man installerar och konfigurerar Tomcat någon gång senare, men nu kommer vi bara att beröra ämnet automatisk distribution av vår webbapplikation.

Steg ett. Vi måste ge Maven åtkomst till Tomcat-servern. För att göra detta, öppna filen conf/tomcat-users.xml i katalogen där Apache Tomcat packas upp och lägg till rollerna manager-gui och 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>

Steg två. Tillåt Maven åtkomst till Tomcat. För att göra detta, öppna filen $MAVEN_HOME/conf/settings.xml och lägg till servern:

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

Steg tre. Vi lägger till en speciell plugin för automatisk distribution av vår applikation till Apache Tomcat. Insticksprogrammet heter tomcat7-maven-plugin . Förresten, det skapades inte av Maven-utvecklarna, utan av Tomcat-utvecklarna, som du kan gissa från namnet.

	<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>

I konfigurationsavsnittet, ange:

  • url är adressen där Tomcat körs och sökvägen till manager/text
  • server - server-id från filen settings.xml
  • sökväg – adressen där det distribuerade programmet kommer att vara tillgängligt

Kommandon för distributionshantering:

mvn tomcat7:deploy Distribuera applikationen till Tomcat
mvn tomcat7:undeploy Ta bort programmet från Tomcat
mvn tomcat7:omplacera Distribuera om applikationen

Implementera med Cargo Plugin

En annan användbar och mångsidig plugin för att distribuera webbapplikationer är Cargo Plugin . Han vet hur man arbetar med olika typer av webbservrar. Så här distribuerar du med den i 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>

För att installera webbapplikationen på din lokala Tomcat behöver du bara köra kommandona:

mvn install
mvn cargo:deploy

Om vi ​​vill distribuera till en fjärrwebbserver måste vi ställa in åtkomsträttigheter till denna server. För att göra detta behöver du bara registrera dem i 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>

Implementera med IntelliJ IDEA

Intellij IDEA gör allt arbete själv, allt du behöver är en installerad Tomcat .

Steg ett. Skapa en lokal Tomcat-konfiguration:

Steg två. Välj sedan den lokala Tomcat:

Steg tre. Konfigurera Tomcat:

Steg fyra. Lägg till sökvägen till Tomcat-mappen.

Steg fem. Vi lägger till vårt projekt som en artefakt till Tomcat.

För att göra detta, gå till fliken Implementering och klicka på + -knappen till höger .

Det är allt.

Förresten, om du behöver distribuera till en fjärrserver, välj bara Remote Tomcat i det andra steget.