Maven 2 maven发布:执行和父pom

Maven 2 maven发布:执行和父pom,maven-2,maven-release-plugin,Maven 2,Maven Release Plugin,我最近“mavenized”了一个库,并将其放入本地git存储库中。 为了锁定一些插件版本,我创建了一个简单的父pom,它通过pluginManagement定义插件版本(父pom文件未签入任何SCM存储库)。我在我的库pom文件中指定父pom: <parent> <groupId>org.my.company</groupId> <artifactId>superpom</artifactId> <ve

我最近“mavenized”了一个库,并将其放入本地git存储库中。
为了锁定一些插件版本,我创建了一个简单的父pom,它通过pluginManagement定义插件版本(父pom文件未签入任何SCM存储库)。我在我的库pom文件中指定父pom:

 <parent>
    <groupId>org.my.company</groupId>
    <artifactId>superpom</artifactId>
    <version>1</version>
 </parent>

我的公司
超级妈妈
1.
我使用默认的目录结构。 当我尝试使用发布插件执行发布时,我遇到了一个问题

mvn发行版:prepare
运行良好,但是当我运行mvn
release:perform
maven将相应的标记从本地git存储库签出到target/checkout文件夹中,并尝试运行部署目标。
但是,生成失败,错误消息为找不到在我的库pom文件中定义的父pom文件。
我假设这与maven试图在target文件夹中查找父pom文件有关,但该文件在那里不可用。
有没有简单的方法来解决这个问题

更新
我有多个不相关的GWT库,它们应该共享通用的公司父pom文件,以便指定插件版本。
父pom仅用于定义一些默认版本,不包含任何模块定义,因为所有GWT库都是不相关的。
GWT库非常简单,除了默认库(GWT、junit)之外,它与任何其他库都没有真正的依赖关系

更新2
我解决了这个问题,通过在superpam文件夹中运行
mvn install
将superpam安装到本地存储库中

您所做的第一个失败是没有对定义了pluginManagement区域的父pom进行版本化。这是您必须执行的第一步,将您喜欢使用的pom.xml放入父级。其次,您必须将有关VCS的信息放入pom的scm区域。清理完所有内容后,必须执行父pom的mvn发布:准备发布:执行。之后,您可以在其他项目中将其用作父项目。此外,您应该在父pom中定义distributionManagement区域。

父pom是否必须与我的库位于同一VCS中?我有几个不相关的库,它们应该将其用作父(公司)pom,并且每个库都位于单独的github存储库中。我是否必须将父pom放在每个存储库中?对于库的发布,我是否必须仅在父pom上调用发布插件,或者我是否可以在库pom上调用发布插件?VCS与pom(工件)本身无关…只是您必须知道将发布的工件(父pom)(通常是存储库管理器)放在何处。库的发布取决于您的库是什么类型的项目(多模块构建还是单个模块?)。可能您可以给出一个库结构的示例。这些是单个模块,不依赖于任何其他库。(见我的更新)。该公司的母公司pom只是用于固定插件版本。