Maven 3.0s "mvn release: perform" mag keine pom.xml, die sich nicht im Stammverzeichnis seines Git-Repos befindet

Ich habe eine Frage zu Maven, dem Maven-Release-Plugin, der Git-Integration, pom.xmls und pom.xmls in Unterverzeichnissen der lokalen Kopie des Repos und nicht im Stammverzeichnis.

Hier ist das Setup:

Ich habe ein Github-Konto mit einer begrenzten Anzahl von privaten RepositorysIch möchte (lerne gerade) Maven verwenden, um meine Builds / Releases zu organisierenMöglicherweise muss ich viele Maven- "Projekte" erstellen, mehrere Projekte pro Git-RepositoryJedes Maven-Projekt benötigt eine "pom.xml", um seine Eigenschaften zu definierenIch kann nicht alle pom.xml-Projektdateien im Stammverzeichnis des Git-Repository ablegen, oder es ist zumindest nicht bequemSo ende ich mit diesem Ordnerlayout für Projekte:git_repo_root_dirproject_A Mappepom.xmlother_codeproject_B Mappepom.xmlother_codeusw....Ich kann erfolgreich in das Verzeichnis git_repo_root_dir / project_A gehen und ein "MVN-Release vorbereiten" ausführen.Ich scheitere mit diesem Schritt in git_repo_root_dir / project_A: "mvn release: perform"Das Problem scheint zu sein, dass der git-Tag-Code in Vorbereitung auf den Release-Build erfolgreich in git_repo_root_dir / project_A / target / checkout / project_A ausgecheckt wurde. Nach dem Auschecken wechselt das Plugin "maven-release" in das Verzeichnis git_repo_root_dir / project_A / Ziel / Kasse /. anstelle von git_repo_root_dir / project_A / target / checkout / project_A /. Um den eigentlichen Build durchzuführen, gibt es keine Möglichkeit, das "maven-release" -Plugin anzuweisen, in ein Unterverzeichnis der mit einem speziellen Tag versehenen Kopie der Quelle zu wechseln, bevor versucht wird, mit der Datei pom.xml zu experimentierenFRAGE: Gibt es einen Ausweg? Gibt es eine Möglichkeit, "mvn release: perform" anzuweisen, in das Unterverzeichnis zu wechseln?

Hier ist der tatsächliche Fehler, den ich während dieses Vorgangs erhalte:

[INFO] --- maven-release-plugin:2.0:perform (default-cli) @ standard_parent_project ---
[INFO] Checking out the project to perform the release ...
[INFO] Executing: /bin/sh -c cd "/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target" && git clone [email protected]:clarafaction/0maven.git '/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target/checkout'
...
/* note, the pom.xml the build should go out of at this point is at
   '/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target/checkout/standard_parent_project/pom.xml'
*/
...
[INFO] [ERROR] The goal you specified requires a project to execute but
    there is no POM in this directory
    (/Users/___/DEV c8ion 01/maven_based_code/0maven/standard_parent_project/target/checkout).
    Please verify you invoked Maven from the correct directory. -> [Help 1]

Vielen Dank.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage