【问题标题】:Maven-scm plugin: Why is the scmRevision not working as expected?Maven-scm 插件:为什么 scmRevision 没有按预期工作?
【发布时间】:2011-08-05 19:21:40
【问题描述】:

我正在使用 Maven 3.0.3、Maven/SCM 插件 (1.5) 和 Git 1.7.4.1。我想运行一个 maven 命令来检查 git 的修订,但是插件将我的“scmVersion”参数视为分支名称而不是修订号。因此,例如,如果我配置

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-scm-plugin</artifactId>
    <version>1.5</version>
    <configuration>
      <goals>install</goals>
      <username>username</username>
      <password>password</password>
      <scmVersion>ccaa6881dd1a9312ad44e39eea719f33ec3e8124</scmVersion>
      <scmVersionType>revision</scmVersionType>
    </configuration>
  </plugin>

(我已验证以上是有效的修订版),我收到以下错误。但是,如果我将“scmVersion”更改为分支名称,那么一切正常。如何配置插件以从修订中签出?谢谢, - 戴夫

davea-mbp2:socialmediaproxy davea$ mvn scm:checkout
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building socialmediaproxy 0.1
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-scm-plugin:1.5:checkout (default-cli) @ socialmediaproxy ---
[INFO] Removing /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target/checkout
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
…
[INFO] --- maven-scm-plugin:1.5:checkout (default-cli) @ socialmediaproxy ---
[INFO] Removing /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target/checkout
[INFO] Executing: /bin/sh -c cd /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target && git clone http://maven:Nohw5ohr@chi-git.mydomain.com/socialmediaproxy.git /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target/checkout
[INFO] Working directory: /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target
[INFO] Executing: /bin/sh -c cd /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target/checkout && git pull http://maven:Nohw5ohr@chi-git.mydomain.com/socialmediaproxy.gitccaa6881dd1a9312ad44e39eea719f33ec3e8124:ccaa6881dd1a9312ad44e39eea719f33ec3e8124
[INFO] Working directory: /Users/davea/Documents/workspace-sts-2.6.0.SR1/socialmediaproxy/target/checkout
[ERROR] Provider message:
[ERROR] The git-pull command failed.
[ERROR] Command output:
[ERROR] fatal: Couldn't find remote ref ccaa6881dd1a9312ad44e39eea719f33ec3e8124

【问题讨论】:

    标签: git maven maven-3 maven-scm


    【解决方案1】:

    可能是单片机连接的问题,尝试像这样显式设置connectionType:

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-scm-plugin</artifactId>
        <version>1.5</version>
        <configuration>
          <connectionType>developerConnection</connectionType>
        </configuration>
      </plugin>
    

    您可以使用命令验证 POM 中的 URL 连接是否有效
    mvn scm:validate

    正如here 解释的那样:

    mvn -DscmConnection="&lt;scm url&gt;" -DscmDeveloperConnection="&lt;scm url&gt;" scm:validate

    【讨论】:

    • 感谢这些建议。 “mvn scm:validate”命令成功,但同样,问题不在于连接 URL,而是当我在“revision”元素中指定修订时,插件将其解释为分支名称,而不是我想要什么。
    猜你喜欢
    • 2014-08-04
    • 2021-01-03
    • 2018-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    相关资源
    最近更新 更多