Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
maven在不同的模块之间共享依赖关系_Maven - Fatal编程技术网

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的依赖项部分声明hibernate依赖项:

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

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

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