CodeGym /Cours Java /Module 3 /Déployer un projet avec Maven

Déployer un projet avec Maven

Module 3
Niveau 2 , Leçon 4
Disponible

Utiliser maven-deploy-plugin

Et un autre sujet très intéressant est le déploiement automatique du package assemblé. Disons que nous avons construit notre propre bibliothèque en utilisant Maven. Comment pouvons-nous le pousser automatiquement vers un référentiel Maven local, d'entreprise ou central ?

Maven a un plugin maven-deploy-plugin spécial pour cela . Exemple:

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

Avec ces paramètres, vous pouvez pousser la bibliothèque construite vers le référentiel Maven en tant que package valide. Nous n'analyserons pas ce processus en détail, mais examinerons brièvement ce qui se passe ici :

La balise file spécifie un fichier qui sera poussé vers le référentiel Maven en tant que nouvelle bibliothèque.

La balise url est le chemin vers le dépôt Maven (local/corporate/…).

La balise repositoryId spécifie l'identifiant du référentiel vers lequel le déploiement sera effectué.

Les balises groupId , artefactId et version définissent l'identification standard du package dans le référentiel Maven. C'est par ces trois paramètres qu'une bibliothèque peut être identifiée de manière unique.

La balise d'emballage est utilisée pour s'assurer que le résultat est envoyé sous la forme d'un fichier zip unique. Si vous ne le spécifiez pas, il y aura un fichier jar, même si vous aviez plusieurs fichiers jar.

La balise pomFile est facultative et vous permet d'envoyer un autre pom.xml au référentiel qui ne contient pas de données cachées ou supplémentaires.

Déploiement d'une application Web sur Tomcat à l'aide de Maven

Le serveur Web le plus populaire pour les applications Web Java est Apache Tomcat . Et bien sûr, avec l'aide de Maven, vous pouvez déployer des fichiers war directement sur un serveur Tomcat local ou même distant.

Nous apprendrons comment installer et configurer Tomcat un peu plus tard, mais maintenant nous n'aborderons que le sujet du déploiement automatique de notre application Web.

La première étape. Nous devons donner à Maven l'accès au serveur Tomcat. Pour cela, ouvrez le fichier conf/tomcat-users.xml dans le répertoire où Apache Tomcat est décompressé et ajoutez les rôles manager-gui et 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>

Deuxième étape. Autorisez Maven à accéder à Tomcat. Pour cela, ouvrez le fichier $MAVEN_HOME/conf/settings.xml et ajoutez le serveur :

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

Troisième étape. Nous ajoutons un plugin spécial pour le déploiement automatisé de notre application sur Apache Tomcat. Le plugin s'appelle tomcat7-maven-plugin . Soit dit en passant, il n'a pas été créé par les développeurs Maven, mais par les développeurs Tomcat, comme vous pouvez le deviner d'après son nom.

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

Dans la section configuration, indiquez :

  • url est l'adresse où Tomcat est en cours d'exécution et le chemin d'accès au gestionnaire/texte
  • server - identifiant du serveur du fichier settings.xml
  • chemin - l'adresse où l'application déployée sera disponible

Commandes de gestion du déploiement :

mvn tomcat7 : déploiement Déployer l'application sur Tomcat
mvn tomcat7 : annuler le déploiement Supprimer l'application de Tomcat
mvn tomcat7:redéployer Redéployer l'application

Déployer avec Cargo Plugin

Un autre plugin utile et polyvalent pour déployer des applications Web est le Cargo Plugin . Il sait travailler avec différents types de serveurs Web. Voici comment le déployer dans 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>

Pour installer l'application Web sur votre Tomcat local, il vous suffit d'exécuter les commandes :

mvn install
mvn cargo:deploy

Si nous voulons déployer sur un serveur Web distant, nous devrons alors configurer les droits d'accès à ce serveur. Pour cela, il vous suffit de les enregistrer dans 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>

Déployer avec IntelliJ IDEA

Intellij IDEA fait tout le travail lui-même, tout ce dont vous avez besoin est un Tomcat installé .

La première étape. Créez une configuration Tomcat locale :

Deuxième étape. Sélectionnez ensuite le Tomcat local :

Troisième étape. Configuration de Tomcat :

Quatrième étape. Ajoutez le chemin d'accès au dossier Tomcat.

Cinquième étape. Nous ajoutons notre projet en tant qu'artefact à Tomcat.

Pour cela, rendez-vous dans l'onglet Déploiement et cliquez sur le bouton + à droite .

C'est tout.

Au fait, si vous devez déployer sur un serveur distant, sélectionnez simplement Remote Tomcat à la deuxième étape.

Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION