He estado usando mvn tomcat7-maven-plugin:run -am -pl :foo
con éxito para ejecutar un solo proyecto a la vez en Tomcat like is shown here. Ahora me gustaría tener varios módulos ejecutados bajo el mismo puerto pero en contextos diferentes. Por ejemplo, me gustaría tener:Cómo usar el complemento maven tomcat7: ¿se ejecuta con múltiples contextos (WAR)?
/ => foo.war
/bar => bar.war
He aquí un ejemplo de fragmento pom.xml que he estado trabajando con:
<project><!-- ... -->
<build><!-- ... -->
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0-SNAPSHOT</version>
<configuration>
<path>/</path>
<port>8080</port>
<addContextWarDependencies>true</addContextWarDependencies>
<addWarDependenciesInClassloader>true</addWarDependenciesInClassloader>
<warSourceDirectory>${project.build.directory}/${project.build.finalName}/</warSourceDirectory>
</configuration>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>bar</artifactId>
<version>${project.version}</version>
<type>war</type>
<scope>tomcat</scope>
</dependency>
</dependencies>
</plugin>
</plugins>
</pluginManagement>
</build>
<pluginRepositories>
<pluginRepository>
<id>apache.snapshots</id>
<name>Apache Snapshots</name>
<url>http://repository.apache.org/content/groups/snapshots-group/</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</project>
es esto posible con el tomcat7-maven-plugin:run
plugin? Estoy luchando por encontrar la sintaxis correcta para que funcione bien. Cuando ejecuto el comando maven
para ejecutarlo, solo ejecuta el primero que encuentra en la jerarquía del proyecto. Y si los ejecuto con el <fork>true</fork>
u obviamente desde diferentes terminales, entonces obtengo "java.net.BindException: dirección que ya está en uso: 8080".
Supongo que es un pedazo de configuración para definir el contexto que se ejecuta dentro del módulo actual como raíz? es decir, ¿esa sería la forma de agregar mi "bar.war" como "/ bar" en el pom.xml de mi "foo.war" como "/"? No funcionó directamente debido a las dependencias, pero todavía estoy jugando con eso. – mckamey
Parece que no puedo manejar las dependencias de "bar.war". Intenté agregarlos explícitamente así http://stackoverflow.com/a/9928987/43217 pero no tuve suerte. – mckamey
Además, si trato de agregar "bar.war" como una dependencia del alcance "tomcat" al propio módulo, primero se genera primero y el comando tomcat7: run intenta ejecutarlo en su lugar. – mckamey