scm-maven-plugin是一款代码版本控制的插件。maven自己将版本控制的过程抽象出来,然后将市面上各种版本控制的工具都做了对应了实现。这款插件其实我们不太会用到,主要是maven的release插件会使用该插件提交代码,这时就需要抽象,自己搞一套出来,否则maven根本不知道怎么提交代码,是git呢还是svn呢。
下面简单记录下使用。这里作为例子,代码仓库用的github。第一次使用需要输入github用户名和密码。
最简单的配置,只需要在pom中加入:
<scm>
<connection>scm:git:https://github.com/用户名/xxx.git</connection>
<developerConnection>scm:git:https://github.com/用户名/xxx.git</developerConnection>
<url>scm:git:https://github.com/用户名</url>
</scm>
这里解释下:
最重要的是connection和developerConnection这两个属性。分别代表远程git仓库的地址。前者要求有读权限,后者要求有写权限。
scm地址的配置有一定的格式。必须是:
scm:实现:地址。
实现可以是svn或者git等等。
scm最最常用的两个目标是checkin和update。
mvn scm:checkin -Dmessage=xxx,将会把本地代码直接push到远端仓库,形成一个commit。提交信息由参数-Dmessage指定,该参数为必填项目。
mvn scm:update,会从远端仓库拉取代码;