我有一个库,我最近“mavenized”并将其放入本地git存储库。
为了锁定一些插件版本,我创建了一个简单的父pom,它通过pluginManagement(父pom文件不是签入到任何SCM存储库中)来定义插件版本。我在我的库文件中指定了父pom文件:maven发布:执行和父pom
<parent>
<groupId>org.my.company</groupId>
<artifactId>superpom</artifactId>
<version>1</version>
</parent>
我使用默认的目录结构。 当我尝试使用发布插件执行发布时,遇到问题。然而
mvn release:prepare
运行正常,当我运行mvn release:perform
行家检查了相应的标签,从我的本地git仓库到目标/结帐文件夹,并尝试运行部署目标。
但是,构建失败,并显示错误消息,它无法找到我的库pom文件中定义的父pom文件。
我认为这与maven尝试在目标文件夹中找到父文件夹并且在那里不可用这一事实有关。
有没有简单的方法如何解决这个问题?
更新:
我有应该分享共同的公司父POM文件以指定插件版本的多个不相关的GWT库。
父pom仅用于定义某些默认版本,并且不包含任何模块定义,因为所有GWT库都不相关。
GWT的库是非常简单的,并没有真正的依赖关系,从默认的除了任何其他库(GWT,JUnit的)
UPDATE2: 我通过运行安装superpom到我的本地库解决了这个问题mvn install
在我的superpom的文件夹中。
父pom是否必须与我的库在同一个VCS中? 我有几个不相关的库应该使用这个作为父(公司)POM和他们每个人都在一个单独的github存储库。我是否必须将父pom放入每个存储库? 对于图书馆的发布,我是否只需要在父pom上调用发布插件,或者我可以在图书馆的pom上进行发布吗? – 2011-12-14 15:00:01