Frage

I'm using multimodule Maven project. Some modules are simply JARs but some of them are WARs (sometimes WAR is submodule of other submodule).

I those WAR modules I'm using tomcat plugin. For example:

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>tomcat-maven-plugin</artifactId>
            <version>1.1</version>
            <configuration>
                <server>my_local_tomcat</server>
                <path>/registration</path>
                <url>http://localhost:8080/manager/text</url>
            </configuration>
        </plugin>

Now I must go to the root, then execute mvn clean install, then go into submodules containing WARs and execute mvn tomcat:redeploy for each one.

Can it be done from the root module to force Maven to find WARs and redeploy them?

War es hilfreich?

Lösung

In each module you want to deploy, add a tomcat-deploy profile

  <profiles>
<profile>
  <id>tomcat-deploy</id>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.tomcat.maven</groupId>
        <artifactId>tomcat7-maven-plugin</artifactId>
        <configuration>
          <server>my_local_tomcat</server>
          <path>/registration</path>
          <url>http://localhost:8080/manager/text</url>
        </configuration>
        <executions>
          <execution>
            <id>deploy-war</id>
            <phase>install</phase>
            <goals>
              <goal>deploy-only</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</profile>

Now run: mvn install -Ptomcat-deploy

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top