Maven-Release-Plugin: Führen Sie nicht mit 'Arbeitsverzeichnis ‚... Arbeitsplatz \ target \ Kasse \ Arbeitsplatz‘ existiert nicht!'

StackOverflow https://stackoverflow.com/questions/2804294

Frage

Ich habe Projekt maven, die fehlschlägt, wenn Release. Zuführen genannt wird, obwohl Freilassung; Werke vorbereiten wie erwartet

Ich habe den Bug-Report (unten), die sicherlich das Problem zu ähneln scheint, ich habe aber nicht ganz sicher, das Problem, das ich verstehen: MRELEASE516

Die letzten Zeilen der Ausgabe erhalte ich:

[INFO] Executing: cmd.exe /X /C "p4 -d E:\hudson\jobs\myHudsonJob\workspace\target\checkout -p 1.1.1.1:1111: client -d myProjectWorkspace-MavenSCM-E:\hudson\jobs\myHudsonJob\workspace\target\checkout"
[INFO] Executing goals 'deploy'...
[WARNING] Base directory is a file. Using base directory as POM location.
[WARNING] Maven will be executed in interactive mode, but no input stream has been configured for this MavenInvoker instance.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error executing Maven.

Working directory "E:\hudson\jobs\myHudsonJob\workspace\target\checkout\workspace" does not exist!

Von dem Fehlerbericht liest die mögliche Ursache des Fehlers zu meinem Module Struktur verwendet ist, ich habe versucht, es unten zu umreißen:

/workspace
|
|+ pom.xml (root pom whose parent is the build pom, 
|           calling release:perform on this pom)
|           [Modules: moduleA and moduleB]
|
|- moduleA
   |+ pom.xml (parent is also build pom)
   |+ build/pom.xml (the build pom - no custom parent)
|- moduleB
   |+ pom.xml (parent is build pom)

Es scheint, dass die Wurzel pom in einem gemeinsamen Verzeichnis im ‚Arbeitsplatz‘ aus dem Fehler sein soll, aber versucht, und nicht funktioniert, noch sinnvoll, warum ich es brauche.

Was die Warnung funktioniert Basisverzeichnis eine Datei will, dass ich stattdessen tun ?! Es dann Zahlen, dass das Basisverzeichnis ist Arbeitsplatz , das dann bedeutet, dass das Arbeitsverzeichnis nicht gefunden wird ... irgendwelche Ideen?

Vielen Dank im Voraus.

EDIT:

Nachdem die SCM-Konfiguration Es sieht alles ok zu mir gecheckt ... in jedem Modul und die Wurzel pom ich habe:

<scm>
<connection>
    scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</connection>
<developerConnection>
    scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</developerConnection>
</scm>

EDIT 2:

Vielleicht habe ich getroffen MRELEASE-261 ?

War es hilfreich?

Lösung

Ich habe diese Arbeit durch eine neuere Version der Release-Plugin. Die Maven Super pom eine Abhängigkeit von v2.0 des Release-Plugin definiert. Wenn Sie dies nicht dann außer Kraft setzen, dass die Version verwendet wird.
Sie können eine neuere Version angeben, wenn Sie das Plugin

laufen
  mvn org.apache.maven.plugins:maven-release-plugin:2.2.1:perform

Oder können Sie die Abhängigkeit Version in Ihrem pom

außer Kraft setzen
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-release-plugin</artifactId>
    <version>2.2.1</version>
  </plugin>

Andere Tipps

Ich bin nicht sicher, dass Sie mit Blick auf MRELEASE-516 (die über release:prepare). Allerdings frage ich mich, ob Sie richtig <scm> Informationen in jedem POM haben. Können Sie das bestätigen?

Working directory "E:\hudson\jobs\myHudsonJob\workspace\target\checkout\workspace" does not exist!

Ich sehe nur die obige Zeile in Ihrem Protokoll. Es sieht aus wie Sie etwas screwy Pfad Einstellung irgendwo haben. Haben Sie den Arbeitsbereich irgendwo überschreiben? Überprüfen Sie die Konfiguration und versuchen, so viel wie möglich die optionalen Einstellungen zu beseitigen.

In meinem Fall wandten sich die gleichen Symptome sich als ein Ergebnis eines Fehlers in maven-Release-Plugin sein: 2.2.1. Siehe MRELEASE-705 .

So der Fehler loszuwerden, ich habe diese in die übergeordnete pom setzen:

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-release-plugin</artifactId>
            <version>2.0</version>
        </plugin>
    </plugins>
</build>

Dieser Fehler wurde für uns vorkommende

Working directory E:\Data\myproject\target\checkout does not exist!

Wir sind in der Mitte eines großen Übergangs von Server-Tool und release:prepare des Maven erscheinen lautlos zu Versagen und behaupten, die Tags und die Versionsnummer ändert hatten, ohne Fehler geschoben worden. Doch nach einigen Recherchen waren diese Dinge nur auf dem lokalen Git Repository begangen worden ist, nicht gedrückt - obwohl die release:prepare Befehle ausführte einen Push durchzuführen, aber nie einen Fehler gemeldet - auch mit den Maven -e und -X Kommandozeilenparameter.

Wir verwenden Maven 3.3.9 Maven Release Plugin 2.5.3 und git Client 2.9.2.

Unsere End-Lösung wurde auf Hinzufügen ein (oder zu korrigieren, die, wie Ihr Fall sein kann) Definition in ~\.m2\settings.xml Datei Maven für unseren git-Server (origin master) mit Benutzername und Passwort mit Privilegien für Tags schieben (sowie drängen zu Master). Die id in der Serverdefinition für den GIT-Server benötigt Git-Server Hostname sein:

<servers>
  <server>
    <id>git-server</id>
    <username>dan</username>
    <password>changeit</password>
  </server>
<servers>

Mit diesem Update des Tag abgeschlossen ist auf dem Server und die Kasse aufgetreten erfolgreich.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top