gpt4 book ai didi

java - Maven多模块项目中,如何指定多个模块需要的依赖?

转载 作者:行者123 更新时间:2023-11-30 07:52:36 24 4
gpt4 key购买 nike

我知道多模块 Maven 项目的目的是每个模块都可以单独编译和构建,也可以从父模块集中编译和构建。

假设我有两个 three modules需要使用 Google Guava图书馆。我是否在两个子模块中的每一个的 POM 中指定该依赖项?如果是这样,什么“范围”?或者我是否在父模块中指定依赖项?我需要将 Guava 捆绑在我的最终产品中,但我当然不需要两份。

最佳答案

我通常在父项目的dependencyManagement中声明所有的依赖,然后在模块的depenencies中使用它们,但是没有version。版本仅在父项目中声明。

至于scope,我通常不会在parent中声明scope,除非它是非常明显的东西,比如JUnit。

Do I specify that dependency in the POM of each of the two sub-modules?

如果你直接使用这个依赖,那么是的。即使它会被传递包含。

If so, what “scope”?

这取决于依赖项是什么以及您如何使用它。 Guava 通常会被编译

Or do I specify the dependency in the parent module?

您可以在父级的 dependencyManagement 中声明它,这样您就不必在其他任何地方指定版本。

但是您通常不会在父模块中声明依赖关系,因为它会被所有子模块继承。这通常是一个过多的假设。

I need Guava bundled in my final product, but I certainly don't need two copies.

不会发生。

关于java - Maven多模块项目中,如何指定多个模块需要的依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45655128/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com