问题标签 [maven-bom]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1066 浏览

gradle - Publish BOM (as pom.xml) using gradle plugin java-platform

I am setting up a project specific BOM that will "inherit" definitions from other BOMs (available as pom.xml) and also define own managed dependendies.

I tried the following (as stated in the java-platform docs) in my build.gradle.kts:

But when I do gradle publishToMavenLocal and check the resulting pom.xml in .m2/repositories it looks like:

Which will not work because the syntax for importing poms should be

How can I publish a valid BOM as pom.xml with gradle (using version 5.3.1)?

0 投票
1 回答
7554 浏览

maven - Maven 父 POM vs BOM 依赖管理

假设我有一个在依赖管理root中定义的 Maven 父 POM。foo:bar:1.0.0我有另一个用作父级的父级 POM parentroot只是为了在示例中添加另一层)。最后,我有一个物料清单,bomroot用作其父级,但foo:bar:2.0.0在其依赖项管理中重新定义。

在我的项目app中,我继承自parent,然后将 BOM 导入到的依赖项管理部分app

哪个依赖管理部分获胜?我得到哪个版本foo:bar

我知道,如果我直接包含foo:bar在 的依赖管理部分中app,它将覆盖从父级继承的内容。但是在依赖管理部分中导入BOM 是否等同于直接将其包含在依赖管理部分中,并且足以覆盖父级的 BOM?还是继承foo:bar自父项的依赖管理优先?

0 投票
1 回答
246 浏览

android - 如何确保所有 firebase SDK 都是兼容版本?

目前我们有很多firebase版本。

但是它们每个都有不同的版本号,有时它们会发生冲突或通过传递包含解决到意外版本。或者其他模块为同一个库声明了不同的版本......这占用了我的时间。

有什么解决方案吗?

0 投票
0 回答
61 浏览

gradle - Gradle 5:BOM 依赖项未写入 pom 文件

我正在尝试使用 BOM 来使用 Gradle 5 构建项目 A。创建的 pom 文件未正确包含 BOM 或来自它的依赖项(见下文)。此外,尝试构建依赖于 A 的项目 B 在项目 A 的 pom 上失败。

使用 DependencyManagementPlugin(即不使用 Gradle 5 原生支持)时,一切正常:

在项目 A 的 pom 中的 dependencyManagement 块中创建它:

试图让它与 Gradle 5 一起工作并不是那么幸运:

依赖{

}

gradle dependencies 显示 BOM 中的正确版本,但它会在项目 A 的 pom 中现有依赖项块中创建此版本:

尝试使用它的构建失败。

我是否正确使用 Gradle 5 对 BOM 的原生支持?它包括什么?

0 投票
0 回答
152 浏览

java - 带有bom的maven多项目结构

我必须重构一个使用 Maven 的 Java 单体应用程序。当前的应用程序有很多依赖项(我的意思是,很多。比如 100-150 个),许多配置文件和插件。所有这些都将被模块化,并将集成到 GitLab 管道中,并带有适当的工件存储库。

我检查了许多有关 maven 和 boms 的示例。

所以我在考虑这样的结构:

这是“最佳实践”工业化配置还是应该将 bom 嵌入到主 pom 中?

我知道应该在 repos 之间拆分依赖关系,但问题是我们有交叉链接的依赖关系,当时我现在无法处理它们。所以我必须尽可能集中所有这些。

0 投票
1 回答
336 浏览

maven - 如何解决我的 BOM 的dependencyManagement 依赖项?

我有一个相当大的项目的 Maven BOM(材料清单),其中包含<dependencyManagement>块内​​的数百个依赖项。我想在为我公司的其他人发布之前验证是否可以成功解决所有依赖项。

不幸的是,该命令mvn dependency:resolve(以及其他dependency类似的命令dependency:tree)似乎只在标准<dependencies>块上运行,但忽略了<dependencyManagement>. 我可以使用其他命令来执行此操作吗?

0 投票
2 回答
429 浏览

maven - 来自maven BOM的传递依赖?

我正在开发一个实用程序库,该库扩展了rdf4j框架,使用它的 BOM 模块导入它,例如:

是否可以使指定的 rdf4j 版本rdf4j-utils可用于导入模块,以便可以从 BOM 导入其他 rdf4j 模块而不指定目标版本?例如:

0 投票
1 回答
1121 浏览

java - 带有 java-platform 插件的父 gradle 模块

我有以下 build.gradle 文件:

我收到了那个错误:

> Could not get unknown property 'javaPlatform' for SoftwareComponentInternal set of type org.gradle.api.internal.component.DefaultSoftwareComponentContainer.

找不到有关此错误的任何信息,并且根据我从平台插件页面的了解,您无法将带有“java”插件的项目设置为“java-platform”插件,但事实并非如此。我很感激这里的一些指导,谢谢。

0 投票
2 回答
379 浏览

android - 使用 BillOfMaterials 时如何使库的传递依赖项显示在应用程序中?

我发现我的库的传递依赖项没有显示在应用程序中,尤其是当我的库中使用 maven BoM 时。

当没有 BoM 时,传递依赖出现在应用程序中。这是 3rd-party-lib 在 my-app 中正确显示为运行时依赖项的示例。

但是当我在我的库中使用 BoM(如下图所示)时,它不会在 my-app 中显示为运行时依赖项。这会导致运行时崩溃!

这是可重现此问题的代码:

在这种情况下,木材是 3rd-party-lib。如前所述,当 mylibrary 使用 BoM 时,这不会显示在应用程序中。因此,每当应用调用内部需要木材的库代码时,应用就会崩溃。

如何确保 mylibrary 将传递依赖项引入应用程序?

PS:我发布到 mylibrary 到本地的 maven。

0 投票
1 回答
748 浏览

maven - Maven中的BOM依赖与父依赖

我想知道 pom 中 Parent 和 BOM 之间的区别。看起来两者都解决了相同的问题,您不想在每个单独的项目中包含版本,而是将其维护在中央(父/BOM)maven中。

谁能帮我理解?谢谢你。