Je veux que mon processus de construction déploie ma guerre sur un serveur distant. Jusqu'à présent, j'ai couru Cela me semble mal car il devrait probablement faire partie du 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 ...) P> Je veux pouvoir exécuter le plug-in Tomcat Maven sans déployer à aucun référentiel à distance. Est-ce possible? P> p> mvn propre installation tomcat7: Déployer code>
Phase de déployer code>. Mais si j'essaie de faire un
déployé MVN code> i get: p>
3 Réponses :
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. p>
Pour lier le déploiement de Tomcat à une certaine phase, ajoutez quelque chose comme ceci à la configuration de votre plug-in tomcat Maven: p> 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. p> p>
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 code> et
Undépendants CODE> 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 CODE>
Nevermin. Pour redéployer, vous devez ajouter
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>
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. P>
Ce que la plupart des développeurs Java envisageraient "publier" un artefact est en fait un "déploiement" à Maven. P>
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. P>
S'il vous plaît donner une raison pour le vote