release:perform が呼び出されたときに失敗する maven プロジェクトがありますが、 release;prepare は期待どおりに動作します。
確かに私が抱えている問題に似ているように見えるバグレポート(以下)を見つけましたが、問題を理解しているかどうかは完全にはわかりません: MRELEASE516
私が得る出力の最後の数行:
[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!
バグレポートを読んだところ、エラーの考えられる原因はモジュールの構造に関連しているため、以下に概要を示しました。
/ワークスペース | | |+ pom.xml (親がビルド pom であるルート pom、 | | release の呼び出し: この pom で実行) | | [モジュール: moduleA と moduleB] | | |- モジュール A |+ pom.xml (親もビルド pom) |+ build/pom.xml (ビルド pom - カスタム親なし) |- モジュール B |+ pom.xml (親はビルド pom)
ルートpomは、エラーから「ワークスペース」内の共通ディレクトリにあるはずですが、それを試しても機能せず、なぜそれが必要なのか意味がありません。
Base directory is a fileという警告は、代わりに何をする必要がありますか?! 次に、ベースディレクトリがワークスペースであると判断します。これは、作業ディレクトリが見つからないことを意味します...何かアイデアはありますか?
前もって感謝します。
編集:
SCM構成を確認したところ、すべて問題ないように見えます...各モジュールとルートpomで:
<scm>
<connection>
scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</connection>
<developerConnection>
scm:perforce:1.1.1.1:1111://rootToDirectoryContainingRelevantPom
</developerConnection>
</scm>
編集2:
多分私はMRELEASE-261を打ったでしょうか?