Плагин Maven-scm: почему scmRevision не работает должным образом?
Я использую 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
1 ответ
Вероятно, это проблема с подключением SCM, попробуйте явно установить тип соединения следующим образом:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-scm-plugin</artifactId>
<version>1.5</version>
<configuration>
<connectionType>developerConnection</connectionType>
</configuration>
</plugin>
Вы можете проверить, действительны ли URL-соединения в POM, используя командуmvn scm:validate
Как это объясняется здесь:
mvn -DscmConnection="<scm url>" -DscmDeveloperConnection="<scm url>" scm:validate