Utilizzando Maven-deploy-plugin

E un altro argomento molto interessante è la distribuzione automatica del pacchetto assemblato. Supponiamo di aver creato la nostra libreria utilizzando Maven. Come lo inviamo automaticamente a un repository Maven locale, aziendale o centrale?

Maven ha uno speciale plugin maven-deploy- plugin per questo . Esempio:

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

Con queste impostazioni, puoi eseguire il push della libreria creata nel repository Maven come pacchetto valido. Non analizzeremo questo processo in dettaglio, ma considereremo brevemente cosa sta succedendo qui:

Il tag file specifica un file che verrà inviato al repository Maven come nuova libreria.

Il tag url è il percorso del repository Maven (local/corporate/…).

Il tag repositoryId specifica l'identificatore del repository in cui verrà effettuata la distribuzione.

I tag groupId , artifactId , version definiscono l'identificazione standard del pacchetto nel repository Maven. È attraverso questi tre parametri che una libreria può essere identificata in modo univoco.

Il tag di imballaggio viene utilizzato per garantire che il risultato venga inviato come un singolo file zip. Se non lo specifichi, ci sarà un file jar, anche se avevi diversi file jar.

Il tag pomFile è facoltativo e consente di inviare un altro pom.xml al repository che non contiene dati nascosti o generali.

Distribuzione di un'applicazione Web su Tomcat utilizzando Maven

Il server web più popolare per le applicazioni web Java è Apache Tomcat . E, naturalmente, con l'aiuto di Maven, puoi distribuire file di guerra direttamente su un server Tomcat locale o anche remoto.

Impareremo come installare e configurare Tomcat qualche tempo dopo, ma ora toccheremo solo l'argomento della distribuzione automatica della nostra applicazione web.

Primo passo. Dobbiamo dare a Maven l'accesso al server Tomcat. Per fare ciò, apri il file conf/tomcat-users.xml nella directory in cui è decompresso Apache Tomcat e aggiungi i ruoli manager-gui e 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>

Passo due. Consenti a Maven di accedere a Tomcat. Per fare ciò, apri il file $MAVEN_HOME/conf/settings.xml e aggiungi il server:

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

Fase tre. Aggiungiamo un plug-in speciale per la distribuzione automatizzata della nostra applicazione su Apache Tomcat. Il plugin si chiama tomcat7-maven-plugin . A proposito, non è stato creato dagli sviluppatori Maven, ma dagli sviluppatori Tomcat, come puoi intuire dal nome.

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

Nella sezione di configurazione, specificare:

  • url è l'indirizzo in cui è in esecuzione Tomcat e il percorso verso manager/testo
  • server - ID del server dal file settings.xml
  • percorso : l'indirizzo in cui sarà disponibile l'applicazione distribuita

Comandi di gestione della distribuzione:

mvn tomcat7:distribuire Distribuisci l'applicazione su Tomcat
mvn tomcat7: annullare la distribuzione Rimuovi l'applicazione da Tomcat
mvn tomcat7: ridistribuire Ridistribuire l'applicazione

Distribuisci con il plug-in Cargo

Un altro plug-in utile e versatile per la distribuzione di applicazioni Web è il plug-in Cargo . Sa come lavorare con diversi tipi di server web. Ecco come implementarlo in 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>

Per installare l'applicazione web sul tuo Tomcat locale, devi solo eseguire i comandi:

mvn install
mvn cargo:deploy

Se vogliamo eseguire la distribuzione su un server Web remoto, dovremo impostare i diritti di accesso a questo server. Per fare ciò, devi solo registrarli in 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>

Distribuisci con IntelliJ IDEA

Intellij IDEA fa tutto il lavoro da solo, tutto ciò di cui hai bisogno è un Tomcat installato .

Primo passo. Crea una configurazione Tomcat locale:

Passo due. Quindi seleziona il Tomcat locale:

Fase tre. Configurazione di Tomcat:

Fase quattro. Aggiungi il percorso alla cartella Tomcat.

Passaggio cinque. Aggiungiamo il nostro progetto come artefatto a Tomcat.

Per fare ciò, vai alla scheda Distribuzione e fai clic sul pulsante + a destra .

È tutto.

A proposito, se devi eseguire la distribuzione su un server remoto, seleziona Tomcat remoto nel secondo passaggio.