Maven 多模块:将公共依赖项聚合在一个模块中?

2023-11-26

我搜索了这样的问题但没有找到任何东西,所以我就在这里。

我有一个多模块 Maven 项目。多个模块都继承同一个父模块,其中定义了共同的依赖关系。其中,有一个我自己的模块,一个“通用”模块,其中实现了一些通用功能。

我的问题是:对于常见依赖项,更好的做法是什么:在父级中显式定义它们,就像我现在所做的那样?或者在“公共”模块中定义它们,其他模块引用该模块,然后依赖传递性(就像公共依赖项的单入口点)?


最好在父 pom 中使用 dependencyManagement 标签来定义依赖项及其版本,然后在需要时在子模块中引用这些依赖项。当您需要项目中的其他子模块(即来自另一个子模块的公共子模块)时,将可以传递地找到依赖项。例如:

在你的父 pom 中:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.7</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

在您的通用 pom 中(注意没有版本或范围):

<dependencies>
  <dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
  </dependency>
</dependencies>

然后您可以从其他子模块引用您的公共子模块(如果您已经这样做了)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Maven 多模块:将公共依赖项聚合在一个模块中? 的相关文章

随机推荐

  • 从 float 转换为 QByteArray

    有没有一种快速方法可以将浮点值转换为字节形式 十六进制 表示形式QByteArray 做过类似的事情memcpy 在使用数组之前 但这似乎不太适用QByteArray 例如 memcpy byteArrayData floatData si
  • 如何找到数组的维数?

    下面是一段代码 我需要通过遍历传递的消息来存储有关警告消息的一些信息 传递的参数本身是一个变体 由 API 调用设置SAPListOfMessages它返回一个数组String 然而我注意到 每当有超过 1 个警告时 列表都是二维的 mes
  • jQuery mobile:在 ListView 中启用自动换行

    我有一个列表视图 见下图 我想将所有内容自动换行 而不是添加 到长行 这是怎么做到的 您只需要更新 CSS ui li desc保存列表项中文本的元素 ui page ui content ui listview ui li desc wh
  • QtService 应用程序作为服务运行时无法连接到系统总线

    我已经重新编译了Qt与集成的dbus对于窗户 此外 我还实施了QtService应用程序在系统总线上注册服务和对象 如下所示 QDBusConnection systemBus registerService com mycompany C
  • 从 R 中的许多列中减去数据框中的一列

    我有一个数据框 我想从所有其他列中减去第二列 我可以循环执行此操作 但我想在一次调用中执行此操作 这是我的工作循环代码 df lt data frame x 100 101 y 2 3 z 3 4 a 1 0 b 4 5 for i in
  • 如何使用 PDO 在一个数据库行程中插入多条记录?

    我有一张桌子叫propAmenities其中包含两列amenity id and property id基本上该表保存外键 现在我必须使用以下语句的命名占位符生成 PDO 查询 INSERT INTO propAmenities ameni
  • 计算sql查询中的持续时间总和

    我有一个表 其中有两列开始时间和结束时间 我能够计算每行的持续时间 但我也想获得总持续时间 这个怎么做 Thanks 您的列的数据类型为 TIMESTAMP 如下所示 SQL gt create table mytable start ti
  • 数据聚合 mongodb vs mysql

    我目前正在研究用于具有严格数据聚合要求的项目的后端 项目主要要求如下 为每个用户存储数百万条记录 用户每年可能拥有超过 100 万个条目 因此即使有 100 个用户 我们每年也会有 1 亿个条目 这些条目的数据聚合必须即时执行 用户需要能够
  • 无法从 List 转换为 List

    我正在尝试传递一个列表DerivedClass一个函数 它接受一个列表BaseClass 但我收到错误 cannot convert from System Collections Generic List
  • React.js Material-UI 中的 BottomNavigation 样式

    如何将所选链接 本例中为主页 的图标和文本颜色更改为红色 并将非活动链接 本例中为课程和作者 的图标和文本颜色更改为绿色 文档非常薄 class MyBottomNavigation extends Component render ret
  • scipy.linalg.solve (LAPACK gesv) 在大矩阵上的时间复杂度?

    如果我使用scipy linalg solve 我相信这称为 LAPACK 的 gesv 函数 在我的工作站上解决约 12000 个未知问题 具有约 12000 个平方 密集 非对称矩阵 时 我得到了一个很好的答案10 15分钟 只是为了探
  • sql表中的树形视图

    我有如下所示的 sql 表 我必须在树视图中显示它 id parentid name 1 NULL outlook 2 1 overcast 3 1 rainy 4 1 sunny 5 2 yes 6 3 wind 7 4 humidity
  • 在 django Forms 中定义 css 类

    假设我有一个表格 class SampleClass forms Form name forms CharField max length 30 age forms IntegerField django hacker forms Bool
  • 为什么 Jupyter 显示图表两次?

    我将从 Jupiter 开始分析一些销售数据 它有效 但每次我绘制图表时 图表都会显示两次 我的笔记本中的前两个图表是在班级内绘制的 对于这些图表来说 这种情况不会发生 注意 Model这里指的是产品的模型 而不是预测模型 class Mo
  • UIStepper - 找出它是递增还是递减

    确定在 UIStepper 中是否按下了加号或减号按钮我使用以下方法 void stepperOneChanged UIStepper stepperOne 而我比较stepperOne value全局值保存在我的 TableView 类中
  • 如何使用 Knife 编辑 ec2 节点的 Chef 属性

    我想使用编辑 ec2 节点的 node dataknife node命令 我可以使用以下命令手动执行此操作 knife node edit NODE NAME它将生成一个我需要编辑的 json name NODE 1 3 chef envi
  • matplotlib - 从等高线提取数据

    我想从均匀间隔的二维数据 类似图像的数据 的单个轮廓中获取数据 基于类似问题中发现的示例 如何获取等高线图 matplotlib 绘制的线的 x y 值 gt gt gt import matplotlib pyplot as plt gt
  • Anaconda Python:删除 pkgs 中的 .tar.gz

    删除 tar gz文件会有问题吗C Users username AppData Local conda pkgs 我还看到同一 Python 包的 Python 子目录 但版本不同 例如 pandas 0 19 2 np111py27 1
  • Tensorflow 无法识别 cudart64_101.dll

    我的路径中有一个DLL文件 C Program Files NVIDIA GPU Computing Toolkit CUDA v10 1 bin cudart64 101 dll but TensorFlow似乎不认识它 2020 03
  • Maven 多模块:将公共依赖项聚合在一个模块中?

    我搜索了这样的问题但没有找到任何东西 所以我就在这里 我有一个多模块 Maven 项目 多个模块都继承同一个父模块 其中定义了共同的依赖关系 其中 有一个我自己的模块 一个 通用 模块 其中实现了一些通用功能 我的问题是 对于常见依赖项 更