我有Maven项目失败时发布:执行被称为,虽然释放;准备按预期工作。maven-release-plugin:执行失败,'工作目录'... workspace target checkout workspace“不存在!'
我发现的bug报告(如下图),这当然似乎像这个问题我有,但不能完全肯定我理解这个问题: 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!
从阅读错误报告错误的原因可能是与我模块的结构,我试着概括如下它:
/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)
似乎根目录应该位于'工作区'内部的某个公共目录中,但是尝试过并且不起作用,对于为什么我需要它也没有意义。
什么是警告基地目录是一个文件要我做的呢?!然后它会计算出基本目录是工作区,这意味着找不到工作目录...有什么想法?
在此先感谢。
编辑:
检查过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?
没有你的poms的内容,很难说点什么,并分析问题。另一方面,为什么你有这样的结构(父级更深层次的pom)?moduleA是否有一个模块部分用于构建? – khmarbaise 2010-05-10 16:29:21
我认为其他poms的母公司的更深层次的原因是因为我们的项目从moduleA开始,并且从那以后一直在增长。 – 2010-05-10 16:44:27