Плагин Maven SCM: провайдер Git SSH не найден

У меня проблема с использованием плагина Maven SCM с Git. Я не могу заставить плагин работать вообще, потому что он говорит, что провайдер не найден. Это дает мне следующую ошибку при запуске mvn scm:tag:

[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins:maven-scm-plugin:1.9: тег (default-cli) в проекте hello-world-service-minimal: Невозможно выполнить команду тега: Невозможно загрузить scm поставщик. Нет такого провайдера: "git:ssh://git@git-eng.REDACTED.com". -> [Помощь 1]

Мой pom.xml выглядит следующим образом:

<project>
  <modelVersion>4.0.0</modelVersion>

  <groupId>net.REDACTED</groupId>
  <artifactId>hello-world-service-minimal</artifactId>
  <version>1.0.13</version>
  <packaging>pom</packaging>

  <name>hello-world-service</name>

  <properties>
     <lang.java.source>1.7</lang.java.source>
     <lang.java.target>1.7</lang.java.target>

    <dep.junit>4.11</dep.junit>
  </properties>

  <scm>
     <developerConnection>scm:git:ssh://git@git-eng.REDACTED.com|PROJECT_NAME/hello-world-service-minimal.git</developerConnection>
     <url>scm:git:http://git-eng.REDACTED.com/PROJECT_NAME/hello-world-service-minimal/tree/master</url>
  </scm>

  <distributionManagement>
     <repository>
        <id>dev.release</id>
        <url>file:${project.build.directory}/repository/</url>
     </repository>
  </distributionManagement>

  <build>
      <plugins>
          <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>versions-maven-plugin</artifactId>
              <version>2.1</version>
          </plugin>
          <plugin>
              <artifactId>maven-scm-plugin</artifactId>
              <version>1.9</version>
              <configuration>
                  <tag>${project.artifactId}-${project.version}</tag>
              </configuration>
          </plugin>
      </plugins>
  </build>
</project>

Кто-нибудь есть идеи, как это исправить? Это сводит меня с ума. Я не могу понять, что я делаю не так вообще.

1 ответ

Решение

<url> тег для обычного просматриваемого URL. Тебе необходимо <connection> тег (<connection> для доступа на чтение, <developerConnection> для доступа на запись):

<scm>
  <connection>scm:git:ssh://git@git-eng.REDACTED.com|PROJECT_NAME/hello-world-service-minimal.git</connection>
  <developerConnection>scm:git:ssh://git@git-eng.REDACTED.com|PROJECT_NAME/hello-world-service-minimal.git</developerConnection>
  <url>http://git-eng.REDACTED.com/PROJECT_NAME/hello-world-service-minimal/tree/master</url>
</scm>

См. Maven POM Reference для получения дополнительной информации.

Другие вопросы по тегам