使用scm:bootstrap可以从 scm 存储库中源的新副本构建项目。这是分发项目的一种便捷方式,因为可以将 bootstrap pom 提供给开发人员以生成项目的 maven 构建环境。
pom.xml应该包含一个 scm 配置,以便引导程序工作。
<project>
...
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>SCM Sample Project</name>
<url>http://somecompany.com</url>
<scm>
<connection>scm:svn:http://somerepository.com/svn_repo/trunk</connection>
<developerConnection>scm:svn:https://somerepository.com/svn_repo/trunk</developerConnection>
<url>http://somerepository.com/view.cgi</url>
</scm>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>2.0.0-M1</version>
<configuration>
<goals>install</goals>
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>
假设已在pom.xml中配置了 scm 配置,则可以通过以下方式调用引导程序
mvn scm:bootstrap
或者在多模块项目的情况下,应调用引导程序
mvn scm:bootstrap -N
默认情况下,scm 插件将从主干获取最新版本并在target/checkout下生成它并在其中执行配置的目标。
大多数公共存储库要求开发人员首先进行身份验证,然后才能从存储库中提取源代码。对于需要身份验证的存储库,需要通过以下方式之一配置 scm 插件:
<project>
...
<build>
...
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>2.0.0-M1</version>
<configuration>
<username>username</username>
<password>password</password>
</configuration>
</plugin>
</plugins>
...
</build>
...
</project>
<settings>
...
<servers>
<server>
<id>hostname</id>
<username>username</username>
<password>password</password>
</server>
</servers>
...
</settings>
从 1.5 版开始,该插件还可以识别加密密码。