2014-03-25 5 views
7

Ich habe ein Problem mit dem Maven SCM-Plugin mit Git. Ich kann das Plugin überhaupt nicht funktionieren, weil es sagt, dass der Provider nicht gefunden wird. Es gibt mir die folgende Fehlermeldung, wenn ich laufe mvn scm:tag:Maven SCM Plugin: Git SSH Provider nicht gefunden

[ERROR] Fehler Ziel org.apache.maven.plugins auszuführen: maven-scm-Plugin: 1,9: tag (default-cli) auf Projekt hallo -world-service-minimal: Befehl kann nicht ausgeführt werden: Der scm-Provider kann nicht geladen werden. Kein solcher Anbieter: 'git: ssh: //[email protected]' . -> [Hilfe 1]

Mein pom.xml sieht wie folgt aus:

<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://[email protected]|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> 

Wer noch keine Ahnung, wie dieses Problem beheben? Das macht mich verrückt. Ich kann nicht herausfinden, was ich falsch mache.

Antwort

14

Das Tag <url> ist für eine reguläre, durchsuchbare URL. Sie benötigen einen <connection>-Tag (<connection> ist für den Lesezugriff, <developerConnection> ist für den Schreibzugriff):

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

die Maven POM Reference für weitere Informationen.

+0

Auch ich bin mir nicht sicher, was mit den Rohren ('|') los ist, vielleicht sollten diese Schrägstriche ('/') sein? –

+0

Es funktioniert immer noch nicht mit dem Tag. Die Pipe ist wegen der Dokumentation hier: http://maven.apache.org/scm/git.html das heißt ersetzen: mit | ... Git-Lab verwendet vor dem ersten Schrägstrich a: . –

+2

Pipe soll nur einen Doppelpunkt ersetzen, wenn ein SCM-Pfad beispielsweise einen Windows-Laufwerksbuchstaben enthält, da das Git-Plugin davon ausgeht, dass nach dem Doppelpunkt ein TCP-Port vorliegt. Ersetzen Sie es durch einen Schrägstrich und sehen Sie, ob Sie den Fehler * selbe * erhalten oder ob es sich von dem obigen Fehler unterscheidet. –

Verwandte Themen