Cargo支持两种本地部署方式:
standalone:Cargo会从WEB容器的安装目录复制一份配置到用户的指定目录,然后在次基础上部署应用,每次重新构建的时候,这个目录都将会清空,所有配置重新生成。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>F:\tomcate\apache-tomcat-7-testwar</home>
</container>
<configuration>
<type>standalone</type>
<home>{工程目录}\target\tomcat7x</home>
</configuration>
</configuration>
</plugin>
existing:需要用户指定现有的WEB容器配置目录,然后Cargo会直接使用这些配置并将应用部署到对应位置。
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.9</version>
<configuration>
<container>
<containerId>tomcat7x</containerId>
<home>F:\tomcate\apache-tomcat-7-testwar</home>
</container>
<configuration>
<type>existing</type>
<home>F:\tomcate\apache-tomcat-7-testwar</home>
</configuration>
</configuration>
</plugin>
两种方法让cargo启动Tomcate并部署应用,需要运行:
mvn cargo:start
默认情况下Cargo会设置容器的监听端口为8080.也可以通过修改的Cargo相关属性来修改端口
<configuration>
<type>existing</type>
<home>F:\tomcate\apache-tomcat-7-testwar</home>
<properties>
<cargo.servlet.port>8081</cargo.servlet.port>
</properties>
</configuration>
部署至远程WEB容器(热部署)
<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>
在Tomcate下修改tomcate-user.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"/>
运行命令:
mvn cargo:redeploy