2013-03-12 78 views
4

我有一个花园多种Maven项目。它有几个模块。因此,根目录pom.xml以宏伟的Maven方式充当父级和聚合器。如何获取maven-site-plugin来解析我的multimodule Maven项目的父pom.xml?

该项目建立并安装正常。从企业pom.xml像这样的节

pom.xml继承:

<parent> 
    <groupId>foo</groupId> 
    <artifactId>bar</artifactId> 
    <version>16</version> <!-- look, Ma, no SNAPSHOT --> 
</parent> 

当我运行mvn site针对这根pom.xmlmaven-site-plugin 3.2版报告它无法解析父。

父母当然存在于我的本地存储库和我本地的Nexus中。生命周期的其他阶段没有任何麻烦解决父母。

其他人有reported这个问题。还有another StackOverflow question on this subject,但它的问题与我的完全一样,并不是很明显。

<relativePath/>添加到<parent>节以上(我的第一个想法)并未以任何方式改变行为。

我怎样才能得到maven-site-plugin来解决父母pom.xml

+1

看来,这是一个公知的和未解决的问题: http://jira.codehaus.org/browse/MSITE-640。简而言之,即使你在别处定义了仓库,“maven-site-plugin”也只能由于某种原因从中心下载文件,所以你需要设置建立一个镜像,以便包括中心在内的所有内容都可以通过某个Nexus框,或者需要在本地回购库中破解有问题的_maven.repositories文件以删除存储库名称。 – 2013-03-12 17:08:03

回答

8

这是Maven网站插件中的bug。由于各种原因,Maven网站插件只会在它认为是Maven中心的地方寻找依赖关系。

因此,你要么必须:

  1. 有一个<mirror>元素通过自己的Nexus服务器代理中心。
  2. 在您的本地Maven存储库中,找到父项pom工件区域。编辑它的_maven.repositories文件,以便任何提及存储库名称本身都被替换为空字符串。

我选择了后面的选项。在这之后,构建运行良好。

+1

re:'' - 具体而言,您拥有把它设置为你的'公共'组它可以解决一切。 : - / – 2014-02-24 16:01:09

1

显然降级到3.3的网站插件也可以工作。 :-(

0
  • 文件名是_remote.repositories(Maven的3.1.1)谈到的行数以及工作
  • 相关问题