Ho utilizzato con successo mvn tomcat7-maven-plugin:run -am -pl :foo
per eseguire un solo progetto alla volta in Tomcat like is shown here. Ora mi piacerebbe avere più moduli in esecuzione sotto la stessa porta ma in contesti diversi. Per esempio, mi piacerebbe avere:Come utilizzare il plugin maven tomcat7: eseguito con più contesti (WAR)?
/ => foo.war
/bar => bar.war
Ecco un esempio pom.xml snippet che ho lavorato 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>
Questo è possibile con il plugin tomcat7-maven-plugin:run
? Sto facendo fatica a trovare la sintassi corretta per farlo suonare bene. Quando eseguo il comando maven
per eseguirlo, viene eseguito solo il primo che trova nella gerarchia del progetto. E se li eseguo con lo <fork>true</fork>
o, ovviamente, da terminali diversi, ottengo "java.net.BindException: Address in uso: 8080".
Suppongo che sia un blocco di configurazione per definire il contesto che viene eseguito all'interno del modulo corrente come root? cioè, sarebbe come aggiungere il mio "bar.war" come "/ bar" nel pom.xml del mio "foo.war" come "/"? Non ha funzionato direttamente a causa delle dipendenze, ma ci sto ancora giocando. – mckamey
Non riesco a capire come gestire le dipendenze di "bar.war". Ho provato ad aggiungerli esplicitamente in questo modo http://stackoverflow.com/a/9928987/43217 ma senza fortuna. – mckamey
Inoltre, se provo ad aggiungere "bar.war" come dipendenza dall'ambito "tomcat" al modulo stesso, allora esso crea prima e il comando tomcat7: run prova invece ad eseguirlo. – mckamey