maven cargo插件使用

<plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>1.4.17</version>
                    <configuration>
                        <container>
                            <containerId>${cargo.containerId}</containerId>
                            <type>remote</type>
                        </container>
                        <configuration>
                            <type>runtime</type>
                            <properties>
                                <cargo.tomcat.manager.url>http://${cargo.hostname}:${cargo.servlet.port}/manager</cargo.tomcat.manager.url>
                                <cargo.remote.username>${cargo.remote.username}</cargo.remote.username>
                                <cargo.remote.password>${cargo.remote.password}</cargo.remote.password>
                                <cargo.servlet.port>${cargo.servlet.port}</cargo.servlet.port>
                                <cargo.hostname>${cargo.hostname}</cargo.hostname>
                                <cargo.tomcat.ajp.port>${cargo.tomcat.ajp.port}</cargo.tomcat.ajp.port>
                            </properties>
                        </configuration>
                        <deployables>
                            <deployable>
                                <groupId>${project.groupId}</groupId>
                                <artifactId>${project.artifactId}</artifactId>
                                <type>war</type>
                                <properties>
                                    <context>/${project.build.finalName}</context>
                                </properties>
                                <!-- 可选:验证是否部署成功 -->
                                <pingURL>http://${cargo.hostname}:${cargo.servlet.port}/${project.build.finalName}/</pingURL>
                                <!-- 可选:验证超时时间,默认是120000 毫秒-->
                                <pingTimeout>60000</pingTimeout>
                            </deployable>
                        </deployables>
                    </configuration>
                </plugin>

需要tomcat manager管理功能打开和权限配置好,然后可以执行如下命令将打包好的war包部署到远端tomcat中去,挺方便的

mvn clean package cargo:redeploy


以插件方式只能一次部署一个war包,若要一次部署多个war包的话,可以采用编程方式:

import org.codehaus.cargo.container.tomcat.*;

/**
 * Created by xiaojun on 2016/1/7.
 */
public class TestMain {
    public static void main(String[] args) throws Exception {
        TomcatRuntimeConfiguration runtimeConfiguration_n1 = new TomcatRuntimeConfiguration();
        runtimeConfiguration_n1.setProperty("cargo.hostname","${hostname}");
        runtimeConfiguration_n1.setProperty("cargo.protocol","http");
        runtimeConfiguration_n1.setProperty("cargo.remote.password","admin");
        runtimeConfiguration_n1.setProperty("cargo.remote.uri","http://n1:8080/manager/text");
        runtimeConfiguration_n1.setProperty("cargo.remote.username","admin");
        runtimeConfiguration_n1.setProperty("cargo.servlet.port","8080");

        Tomcat7xRemoteContainer remoteContainer_7x = new Tomcat7xRemoteContainer(runtimeConfiguration_n1);
        Tomcat7xRemoteDeployer remoteDeployer_7x = new Tomcat7xRemoteDeployer(remoteContainer_7x);

        TomcatRuntimeConfiguration runtimeConfiguration_n2 = new TomcatRuntimeConfiguration();
        runtimeConfiguration_n2.setProperty("cargo.hostname","n2");
        runtimeConfiguration_n2.setProperty("cargo.protocol","http");
        runtimeConfiguration_n2.setProperty("cargo.remote.password","admin");
        runtimeConfiguration_n2.setProperty("cargo.remote.uri","http://n2:8080/manager/text");
        runtimeConfiguration_n2.setProperty("cargo.remote.username","admin");
        runtimeConfiguration_n2.setProperty("cargo.servlet.port","8080");

        Tomcat8xRemoteContainer remoteContainer_8x = new Tomcat8xRemoteContainer(runtimeConfiguration_n2);
        Tomcat8xRemoteDeployer remoteDeployer_8x = new Tomcat8xRemoteDeployer(remoteContainer_8x);

//        System.out.println(remoteContainer.getState().isStopped());
        TomcatWAR tomcatWAR = new TomcatWAR("D:\\PF-Foundation-DACE\\trunk\\dace-search\\target\\dace-search.war");


        System.out.println("================redeploy n1 start========================");
        remoteDeployer_7x.redeploy(tomcatWAR);
        System.out.println("================redeploy n1 stop========================");
        System.out.println("================redeploy n2 start========================");
        remoteDeployer_8x.redeploy(tomcatWAR);
        System.out.println("================redeploy n2 stop========================");


    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值