maven在不同的模块之间共享依赖关系

maven在不同的模块之间共享依赖关系,maven,Maven,我有一个5个模块的项目 其中2个模块依赖于hibernate。他们是兄弟姐妹而不是父子,因此一个人不能继承另一个人的依赖关系 有没有办法在父模块中指定与hibernate相关的依赖项,并使两个模块继承它,而其他三个模块不会继承它 是的。创建具有共享hibernate依赖项的父pom.xml,并将父声明添加到2个模块中: <parent> <groupId>...</groupId> <artifactId>...</artif

我有一个5个模块的项目

其中2个模块依赖于hibernate。他们是兄弟姐妹而不是父子,因此一个人不能继承另一个人的依赖关系


有没有办法在父模块中指定与hibernate相关的依赖项,并使两个模块继承它,而其他三个模块不会继承它

是的。创建具有共享hibernate依赖项的父pom.xml,并将父声明添加到2个模块中:

<parent>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <version>...</version>
    <relativePath>...path-to-parent.../pom.xml</relativePath>
</parent>

...
...
...
…指向父级的路径…/pom.xml
在父pom的依赖项部分声明hibernate依赖项:

    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate</artifactId>
        <version>${hibernate.version}</version>
    </dependency>

org.hibernate
冬眠
${hibernate.version}

考虑使用单独的项目对依赖项集进行建模,然后依赖于该项目。这比以某种方式在父层次结构中对其建模更灵活。

现在我的5个模块都这样做了。我的父模块具有junit依赖性,它由所有5个模块共享。如果我按照你说的做,所有5个模块都将继承hibernate,但我只希望2个模块继承它。很抱歉,我没有从你的帖子中收集到这一点。也许您可以创建一个多层次结构:root->(a,b,c,d)和d->(e,f),其中d是一个具有hibernate依赖关系的新项目,a,b,c是不需要它的项目,e,f是另一个需要它的项目,所以要回答更深层的maven层次结构