2016-05-24 12 views
1

mein Problem mit einem solchen Befehl während eines Maven-Release passiert:Maven Release schlägt fehl, weil git mistinterpretation Pfad

mvn --settings D: \ My \ user_settings.xml Mitteilung: Vorbereitung Release: führen - Dresume = false -Darguments = "- DskipTests" -Prelease

Der Projektbaum wird auf diese Weise festgelegt (und kann nicht geändert werden!):

  • Projekt \ project \ pom.xml
  • Projekt \ Projekt-core \ pom.xml
  • Projekt \ Projekt-Service \ pom.xml
  • Projekt \ projekt encrypt \ pom.xml

Und in der Mutter pom, Sie haben (zusammen mit anderen Dingen in der Tat!):

<modules> 
    <module>..//project-encrypt</module> 
    <module>..//project-core</module> 
    <module>..//project-service</module> 
</modules> 

Maven Build gut geht, aber wenn es an der Zeit ein git-add auszuführen ist, habe ich diese Meldung:

Ausführen: cmd.exe/X/C "git hinzufügen - pom.xml -encrypt \ pom.xml -core \ pom.xml -service \ pom.xml" Arbeitsverzeichnis: D: \ My \ Workspaces \ Projekt \ Projekt

Fehler beim Ziel org.apache.maven.plugins ausführen: maven-Release-Plugin: 2.3.2: Vorbereitung (default-cli) auf Projekt Projekt: Kann nicht Dateien begehen Provider Nachricht: Der Befehl git-add ist fehlgeschlagen. Befehlsausgabe: fatal: Pfadangabe ‚-encrypt \ pom.xml‘ brachte keine Dateien

Ich habe versucht, die Module Weg viele Möglichkeiten, zu schreiben, aber alle scheiterten die gleiche Art und Weise:

..//project-encrypt

../project-encrypt

../project-encrypt

Irgendeine Idee zu diesem Problem? (Da ich meine Projekte nicht umbenennen kann, ist das eigentlich keine Lösung ...).

Vielen Dank im Voraus für das Lesen bis hier!

Antwort

0

Zunächst sollen Sie relativen Pfad zum übergeordneten pom.xml in allen Modulen beschreiben

<parent> 
    <groupId>com.mycompany.app</groupId> 
    <artifactId>...</artifactId> 
    <version>...</version> 
    <relativePath>../project/pom.xml</relativePath> <!-- REQUIRED! --> 
</parent> 

Die zweite, sollten Sie gefälschtes Projekt/pom.xml mit (a) Verteilungsabschnitt und (b) Module hinzufügen Beschreibung Abschnitt:

<modules> 
    <module>project</module> 
    <module>project-core</module> 
    <module>project-service</module> 
    <module>project-encrypt</module> 
</modules> 

Jetzt können Sie dieses Projekt freigeben, wird es einen Trick machen.

BTW, ersetzen Sie // durch einzelne/in Pfade.Windows interpretiert möglicherweise doppelte Schrägstriche als Netzwerkpfad.

+0

Danke für Ihre Antwort, ursa. Ich bin gerade im Urlaub und kann das nicht testen, aber das sieht für mich sehr vielversprechend aus. Ich werde ein Feedback geben, sobald ich zurück bin – Marvin