使用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 版开始,该插件还可以识别加密密码。