使用 POM 引导项目

使用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 插件:

  • poml.xml
    <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.xml通过服务器条目,使用连接 URL 中的主机名作为服务器 ID
    <settings>
      ...
      <servers>
        <server>
          <id>hostname</id>
          <username>username</username>
          <password>password</password>
        </server>
      </servers>
      ...
    </settings>
    

    从 1.5 版开始,该插件还可以识别加密密码