配置 Cargo 的 Maven 插件
Cargo 是一款自动化部署工具,它提供了 Maven 插件 ,可以通过 Maven 快速方便地部署服务。本文简要介绍了 Cargo 的 Maven 插件的配置方法,使用系统为 macOS 10.12。
Contents
1. Maven 插件和仓库配置
编辑 Home 下 .m2 目录中的 settings.xml:
vi ~/.m2/repository/settings.xml
添加如下 pluginGroups:
<pluginGroups> <pluginGroup>org.codehaus.cargo</pluginGroup> <pluginGroup>org.codehaus.mojo</pluginGroup> </pluginGroups>
添加如下的 pluginRepositories:
<pluginRepositories> <pluginRepository> <id>sonatype-snapshots</id> <name>Sonatype Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories>
添加如下的 repositories:
<repositories> <repository> <id>sonatype-snapshots</id> <name>Sonatype Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>
此时完整文件如下:
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> <localRepository/> <interactiveMode/> <usePluginRegistry/> <offline/> <pluginGroups> <pluginGroup>org.codehaus.cargo</pluginGroup> <pluginGroup>org.codehaus.mojo</pluginGroup> </pluginGroups> <servers/> <mirrors/> <proxies/> <profiles/> <activeProfiles/> <pluginRepositories> <pluginRepository> <id>sonatype-snapshots</id> <name>Sonatype Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> <repositories> <repository> <id>sonatype-snapshots</id> <name>Sonatype Snapshots</name> <url>https://oss.sonatype.org/content/repositories/snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories> </settings>
2. 项目配置
在项目的 pom.xml 中,添加如下的插件:
<plugins> <plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.6.4</version> <configuration> <container> <containerId>tomcat8x</containerId> <home>/user/local/apache-tomcat-8.5.20</home> </container> <configuration> <type>existing</type> <home>/user/local/apache-tomcat-8.5.20</home> </configuration> <deployables> <deployable> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <type>war</type> <properties> <context>${project.artifactId}</context> </properties> </deployable> </deployables> <deployer> <type>installed</type> </deployer> </configuration> </plugin> </plugins>
其中,container 下的 containerId 指明使用的容器名称为 tomcat8x,home 为本地 Tomcat 路径。configuration 下的 type 为 existing,指明使用现有容器,home 为容器地址。deployables 下为项目相关信息。deployer 下 type 为 installed 指定使用本地已安装的 Tomcat,而非自动下载。
配置完成后,首先编译项目:
mvn clean install
然后使用如下命令进行部署:
mvn cargo:run
除了像上面一样部署到本地 Tomcat Server,Cargo 还支持远程部署,详见这里。