在具有不同操作系统的不同计算机上的两台Tomcat服务器上部署Web应用程序

时间:2014-03-27 19:18:07

标签: java maven tomcat

如果可能的话,我希望一个接一个地或同时在Windows Tomcat 7和Unix Tomcat 7上部署我的webapp。目前,我能够成功部署我的webapp  在Windows Tomcat上使用tomcat-maven-plugin并调用mvn tomcat7:redeploy。但是限制是我必须改变我的pom,以便它指向Unix Tomcat,如果我想  在Unix上部署webapp非常痛苦。关于如何实现这一点的任何想法?请指导。

的pom.xml

<plugin>
    <groupId>org.apache.tomcat.maven</groupId>
    <artifactId>tomcat7-maven-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>win-tomcat</server>
        <path>/${project.artifactId}</path>
    </configuration>
</plugin>

的.m2 / settings.xml中

<settings>
    <servers>
        <server>
            <id>unix-tomcat</id>
            <username>manager</username>
            <password>manager</password>
        </server>
        <server>
            <id>win-tomcat</id>
            <username>manager</username>
            <password>manager</password>
        </server>
    </servers>
</settings>

2 个答案:

答案 0 :(得分:2)

您可以为每台计算机创建两个单独的build profiles并逐个执行针对这两个配置文件的构建

答案 1 :(得分:0)

如果您不想求助于个人资料但是一次性部署到两者,您可以定义两个<execution>,如下所示:

<plugin>
  <groupId>org.apache.tomcat.maven</groupId>
  <artifactId>tomcat7-maven-plugin</artifactId>
  <version>2.2</version>
  <executions>
    <execution>
      <id>deploy-windows</id>
      <configuration>
        <url>http://localhost:8080/manager/text</url>
        <server>win-tomcat</server>
        <path>/${project.artifactId}</path>
      </configuration>
    </execution>
    <execution>
      <id>deploy-unix</id>
      <configuration>
        <url>http://unix:8080/manager/text</url>
        <server>unix-tomcat</server>
        <path>/${project.artifactId}</path>
      </configuration>
    </execution>
  </executions>
</plugin>