3

我正在尝试maven-release-plugin 2.3.2在多模块 POM 上使用。(Maven 3.0.4)

release:prepare工作正常,但release:perform因此错误而失败

[INFO] org.apache.maven.lifecycle.MissingProjectException: The goal you specified 
requires a project to execute but there is no POM in this directory (...<workspace>/target
/checkout). Please verify you invoked Maven from the correct directory.

现在父 POM 位于其中,<workspace>/<workspace>/target/checkout没有 POM,因为该target目录是由插件创建的。我假设这里应该有一个 pom.xml 的副本,它应该由插件创建,这就是错误的原因。

我做错了什么?附上目录和 POM 结构。模块 1 和 2 都有各自pom.xmls的根目录。


目录结构


我查看了maven 发布插件 git,pom 不在顶部maven 生成 pom 文件Maven 3.0 的“mvn release:perform”不喜欢不在其 git repo 根目录中的 pom.xml目录. 它们没有帮助,因为我的 pom 已经位于 repo 的(SVN)根目录中,而插件正在寻找 POM 的这个目录只是临时的,所以我不能/不应该对其进行硬编码。

4

2 回答 2

4

修复它.. 父 POM 中标签中的错误路径。来自 khmarbaise 的评论让我认为 SVN=Jenkins workspace=path in 中的路径是它可以工作的唯一方式,它就是这样做的。

于 2012-12-21T10:40:55.603 回答
0

确保您没有在项目结构中提交目标文件夹,因为它在该文件夹中签出,因此无法找到 pom 文件。

我遇到了类似的问题。:)

于 2014-01-27T12:44:09.190 回答