cargo-maven2-plugin的groupId是org.codehaus.cargo,不属于maven官方在groupId,所以在mavne的配置文件settings.xml中找到<pluginGroups>节点,插入<pluginGroup>org.codehaus.cargo</pluginGroup>
<pluginGroups>
<!-- pluginGroup
| Specifies a further group identifier to use for plugin lookup.
<pluginGroup>com.your.plugins</pluginGroup>
-->
<pluginGroup>org.codehaus.cargo</pluginGroup>
</pluginGroups>
方便命令行调用。 #部署至本地web容器 Cargo支持两种本地部署的方式,分别为standlone模式和existing模式。在standlone模式中,Cargo会从Web容器在安装目录复制一份配置到用户指定的的目录,然后在此基础上部署上应用,每次重新构建的时候,这个目录都会被清空,所有配置都被重新生成。而在existing模式中,用户需要指定Web容器的目录,Cargo会将Web部署到tomcat目录下。 ##standalone模式 在pom.xml中的配置如下
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>D:\apache-tomcat-7.0.75</home>
</container>
<configuration>
<type>standalone</type>
<home>${project.build.directory}/tomcat7x</home>
</configuration>
</configuration>
</plugin>
${project.build.directory}/tomcat7x
指的是项目会输出在项目target/tomcat7x下
执行命令: mvn cargo:start
##existing模式
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>D:\apache-tomcat-7.0.75</home>
</container>
<configuration>
<type>existing</type>
<home>D:\apache-tomcat-7.0.75</home>
</configuration>
</configuration>
</plugin>
#部署至远程服务器 首先需要在tomcat conf/目录下找到tomcat-users.xml,添加如下配置
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<user username="tomcat" password="tomcat7" roles="admin-gui, manager-gui,manager-script"/>
pom.xml配置如下:
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>tomcat</cargo.remote.username>
<cargo.remote.password>tomcat7</cargo.remote.password>
<cargo.remote.uri>http://localhost:8080/manager/text</cargo.remote.uri>
</properties>
</configuration>
</configuration>
</plugin>
远程部署采用的是tomcat的热部署技术,所以要提前启动tomcat
执行命令:mvn cargo:redeploy