2

我刚刚开始使用 Apache Maven。现在我想让Maven能够一键部署生产和开发环境。我正在使用 Eclipse(Springsource 版本)并且安装了 Maven 插件。我的服务器有 tomcat,部署时唯一需要做的就是用新的战争覆盖旧战争,服务器有 SSH 访问权限。

4

3 回答 3

2

Tomcat Maven 插件Maven2 Cargo 插件都支持远程 Tomcat 部署(假设管理器应用程序可用)。

对于 Tomcat Maven 插件,请参见使用页面,配置非常简单。

对于 Maven2 Cargo 插件,这是一个示例配置(用于远程容器):

<build>
  <plugins>
    <plugin>
      <groupId>org.codehaus.cargo</groupId>
      <artifactId>cargo-maven2-plugin</artifactId>
      <version>1.0.1-sr-1</version>
      <configuration>
        <wait>true</wait>
        <container>
          <containerId>tomcat6x</containerId>
          <type>remote</type>
        </container>
        <configuration>
          <type>runtime</type> 
          <properties>
            <cargo.tomcat.manager.url>[https://yourhost/manager]</cargo.tomcat.manager.url>
            <cargo.remote.username>[username]</cargo.remote.username>
            <cargo.remote.password>[password]</cargo.remote.password>
          </properties>
        </configuration>
        <deployer>
          <type>remote</type>
          <deployables>
            <deployable>
              <groupId>[war group id]</groupId>
              <artifactId>[war artifact id]</artifactId>
              <type>war</type>
              <properties>
                <context>[optional root context]</context>
              </properties>
              <pingURL>[optional url to ping to know if deployable is done or not]</pingURL>
              <pingTimeout>[optional timeout to ping (default 20000 milliseconds)]</pingTimeout>
            </deployable>
          </deployables>
        </deployer>
      </configuration>
    </plugin>
  </plugins>
</build>

并键入mvn cargo:deploy.

Cargo 更强大(因为与容器无关)但也更复杂。对于简单的需求,我发现 Maven Tomcat 插件更简单。

于 2010-07-06T21:50:55.693 回答
1

试试Maven Cargo 插件。这可以处理各种版本的 Tomcat 以及其他应用程序服务器。它可以在部署之前/之后启动和停止服务器。它也应该能够远程部署,虽然我不能用 Tomcat 来证明它。

于 2010-07-06T20:17:59.413 回答
0

如果您需要的是通过 SSH 替换文件,我会推荐antrun插件来完成该任务。

对于其他部署,请查看出色的cargo plugin

于 2010-07-06T20:20:16.170 回答