spring - 我们可以生成一个 BOM,将生成的工件作为依赖项导出 Maven 项目吗?
问题描述
我有以下情况:我继承了一个遗留系统,构建为一个多模块 Maven 项目。
parent
module1
module 1.1 -> generates artifact 1.1
module 2.2 -> generates artifact 1.2
module2
module 2.1
module 2.1.1 -> generates artifact 2.1.1
module 2.1.2 -> generates artifact 2.1.2
module 2.2 -> generates artifact 2.2
module3 -> generates artifact3
这是目前的情况,并且由于一长串的原因,它无法改变。
此外,这些工件(它们的子集或全部)被其他项目作为依赖项使用。这些项目是由其他团队使用我无法控制的流程构建的,让每个人都参与使用正确的版本变得很麻烦。
我希望能够生成一个 BOM,将每个生成的工件列为依赖项管理部分中的依赖项,并具有正确的版本,然后发布该 BOM 供其他人使用。
有点像Spring Framework 发布的master/parent bom 。
那么,就万事大吉了!我可以尝试手动创建 BOM,但我不想这样做。
我继承的遗留项目并不是唯一一个面临这些挑战的项目。如果我能找到一种自动化的方式来做到这一点,那对我和我的同事来说将是一个巨大的胜利。
我没有找到任何关于如何生成这样一个 bom 的参考资料。
我只看到有关如何使用一个或如何为项目的依赖项手动创建一个的文档。
我没有看到任何关于如何生成列出/导出项目创建的工件的文档(供其他人使用。)
谢谢。
PS。这个项目不是唯一的。在一个噩梦般的 11 维量子纠缠的超级意大利面球中,还有其他项目正在建设和消耗(眨眼,眨眼。)
解决方案
推荐阅读
- c - C 代码在 VS 中工作,但在通过 valgrind 时失败并拒绝编译
- javascript - 以编程方式在 Material-UI 的数据网格中预选一行(React)
- sql - 查找最后一个和倒数第二个日期和相应的值
- javascript - 计算整体锻炼时间的“持续时间”
- python - 根据列表中的部分匹配字符串过滤 DataFrame
- python-3.x - 这个 python 函数签名在 Kedro 教程中意味着什么?
- c++ - 如果功能在石头、纸、剪刀中不起作用,为什么还会出现这种情况?
- php - 带有外部 api 和一对多的 yii gridview 过滤器
- python-3.x - 自动跳过初始行到 pandas.read_excel
- bash - 从 /tmp 触发远程路径上的命令