如何避免从Maven父POM继承<site>和<url>?

时间:2017-02-03 14:32:47

标签: maven

此问题没有Maven多模块上下文
在我的项目中,我经常使用父POM来定义一些Maven插件。

<project>
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.company</groupId>
    <artifactId>commonParent</artifactId>
    <version>1.2.2</version>
    <packaging>pom</packaging>

    <build>
        <plugins>
        </plugins>
    </build>

    <distributionManagement>
        <repository>   </repository>
        <snapshotRepository>  </snapshotRepository>
        <site>
            <id>releases</id>
            <url>dav:http://intra.nexus.de/repository/company-docs/${artifactId}</url>
        </site>
    </distributionManagement>

</project>

我有一个关于这个父POM的小文档,它使用maven网站插件部署到Nexus 3。工作正常。

我在其他项目中使用此父项(打包war和jar),它们也有文档。他们有自己的<site><url>元素:

<project>
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>com.company</groupId>
        <artifactId>commonParent</artifactId>
        <version>1.2.2</version>
    </parent>

    <artifactId>myProject</artifactId>
    <version>2.0.0</version>
    <packaging>war</packaging>

    <distributionManagement>
        <repository>  </repository>
        <snapshotRepository>      </snapshotRepository>
        <site>
            <id>releases</id>
            <url>dav:http://intra.nexus.de/repository/company-docs/${artifactId}</url>
        </site>
    </distributionManagement>

</project>

当我使用mvn site:deploy部署网站时,我得到了这个输出:

Pushing D:\dev\myProject\target\site
to http://intra.nexus.de/repository/company-docs/commonParent../myProject` 

如何避免将<site>从父项继承到我的项目?

1 个答案:

答案 0 :(得分:0)

来自Maven网站插件的documentation

  

如果子项目从父POM继承站点URL,它们将自动附加它们以形成其有效的部署位置。

但是,只要父项目不是直接祖先,Maven就会生成不充分的url和site / url值。 例如。与父项目不是根项目。