8
votes

Quelle est la phase par défaut du plug-in Tomcat7 Maven?

Je veux que mon processus de construction déploie ma guerre sur un serveur distant. Jusqu'à présent, j'ai couru mvn propre installation tomcat7: Déployer

Cela me semble mal car il devrait probablement faire partie du Phase de déployer . Mais si j'essaie de faire un déployé MVN i get: xxx

puisque je n'ai pas défini aucun référentiel à déployer (je ne sais pas Vérifiez vraiment de déployer sur un référentiel à distance, en utilisant simplement cette phase pour exécuter le plug-in Tomcat Maven ...)

Je veux pouvoir exécuter le plug-in Tomcat Maven sans déployer à aucun référentiel à distance. Est-ce possible?


1 commentaires

S'il vous plaît donner une raison pour le vote


3 Réponses :


7
votes

Le plugin n'exécute pas par défaut. Vous devez y ajouter une exécution, ou appelez-le comme vous l'avez fait (Fe MVN Clean Install Tomcat7: Déployer).

Le déploiement sur Tomcat n'a rien à voir avec la phase de déploiement Maven / déployant sur un référentiel à distance.

Pour lier le déploiement de Tomcat à une certaine phase, ajoutez quelque chose comme ceci à la configuration de votre plug-in tomcat Maven: xxx

dans cette configuration, le déploiement à Tomcat sera se produisent dans la phase de test de pré-intégration, qui est la phase la plus courante de le faire en je crois.


3 commentaires

J'ai pensé que chaque plugin in Maven a une configuration par défaut et se fixe à certaines phases. Quoi qu'il en soit, le test de pré-intégration semble être la bonne phase de la mettre dans ...


Savez-vous comment déployer de cette façon sur une guerre déjà déployée? Redéployer et Undépendants Les objectifs semblent manquants. Les seuls disponibles sont les seuls disponibles: EXEC-WAR-WAR-WAR-WAR-WAR-WAR-SEULEMENT, ERUTDOWN, GURE-WAR-WAR-WAR-WAR-WAR-WARD, RUN-WAR, EXEC-WAR, AIDE


Nevermin. Pour redéployer, vous devez ajouter true drapeau sur la configuration du plug-in. Tomcat.apache.org/maven- Plugin-2.0-Snapshot / ...



1
votes

Une solution consiste à lier cela à un profil.

<profile>
  <id>webapp-deploy</id>
..
          <plugin>
            <groupId>org.apache.tomcat.maven</groupId>
            <artifactId>tomcat7-maven-plugin</artifactId>
            <executions>
              <execution>
                <id>tomcat-deploy</id>
                <phase>install</phase>
                <goals>
                  <goal>deploy-only</goal>
                </goals>
              </execution>
            </executions>
          </plugin>
..
</profile>


0 commentaires

1
votes

C'est parce que Maven (dans une décision super aggravante) a décidé de co-opter le mot "déployé". Dans le monde maven, déploiement signifie prendre votre binaire que vous venez de construire et de le télécharger / stocker dans votre référentiel Maven local. Pas déployer votre guerre nouvellement construite sur votre serveur.

Ce que la plupart des développeurs Java envisageraient "publier" un artefact est en fait un "déploiement" à Maven.

Cela aide si vous considérez que MAVEN ne vous souciez que de construire avec la gestion de la dépendance. N'importe quoi en dehors de la gestion de la dépendance de la construction nécessite des appels spéciaux (comme Tomcat7: redéployé) ou un environnement de script différent.


0 commentaires