Puis-je ajouter quelque chose à pom.xml qui copiera le fichier WAR généré du répertoire cible vers le répertoire webapps
de mon Tomcat?
J'ai utilisé le plugin Maven WAR: http://maven.Apache.org/plugins/maven-war-plugin/usage.html
<build>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<outputDirectory>U:\JBoss6\server\default\deploy\</outputDirectory>
</configuration>
</plugin>
Une fois que vous l'avez ajouté à votre pom.xml, vous pouvez copier le fichier WAR en appelant mvn package
ou mvn war:war
.
Vous pouvez utiliser http://cargo.codehaus.org/Deploying+to+a+running+container et le configurer en conséquence.
C'est la bonne approche:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warName>${name}</warName>
<outputDirectory>C:\Tomcat7\webapps</outputDirectory>
</configuration>
</plugin>
Cela mettra un fichier war dans le dossier C:\Tomcat7\webapps avec le nom du projet maven.
Vous pouvez également consulter le plugin Jetty. Tapez simplement "mvn jetty: run-war" et jetty devrait exécuter votre fichier war.
Edit: Jetty est un conteneur de servlet léger adapté au développement et aux tests. Le démarrage est également rapide comme l'éclair.
Alternativement, vous pouvez demander à Tomcat de regarder dans votre répertoire cible et de le déployer directement à partir de là.
Dans votre élément Context context.xml ou server.xml:
<Context path="" docBase="/path/to/target/exploded">
...
</Context>
Ensuite, vous pouvez utiliser l'objectif guerre: éclaté pour créer votre guerre éclatée.
Pas idéal, mais si vous avez une configuration de serveur d'application vraiment étrange, vous pouvez toujours utiliser un ensemble de tâches antrun pour exécuter lorsque le packaging est exécuté
<build>
....
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<configuration>
<tasks>
<!-- Ant copy tasks go here -->
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
Merci pour toutes les réponses ci-dessus.
La réponse ci-dessous fonctionne pour moi. Ceci est juste un consolidé. Rien de spécial!
</project>
........
<build>
<finalName>HelloWorld1</finalName>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<outputDirectory>C:\Program Files (x86)\Apache-Tomcat-8.5.8\webapps\</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
</project>
Pour plus d'informations. Veuillez vous référer à dépendance: copie page officielle pour plus d'informations.
Vous pouvez également le faire avec le plugin de dépendance