问题标签 [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.
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)?
maven - Maven 父 POM vs BOM 依赖管理
假设我有一个在依赖管理root
中定义的 Maven 父 POM。foo:bar:1.0.0
我有另一个用作父级的父级 POM parent
(root
只是为了在示例中添加另一层)。最后,我有一个物料清单,bom
它root
用作其父级,但foo:bar:2.0.0
在其依赖项管理中重新定义。
在我的项目app
中,我继承自parent
,然后将 BOM 导入到的依赖项管理部分app
哪个依赖管理部分获胜?我得到哪个版本foo:bar
?
我知道,如果我直接包含foo:bar
在 的依赖管理部分中app
,它将覆盖从父级继承的内容。但是在依赖管理部分中导入BOM 是否等同于直接将其包含在依赖管理部分中,并且足以覆盖父级的 BOM?还是继承foo:bar
自父项的依赖管理优先?
android - 如何确保所有 firebase SDK 都是兼容版本?
目前我们有很多firebase版本。
但是它们每个都有不同的版本号,有时它们会发生冲突或通过传递包含解决到意外版本。或者其他模块为同一个库声明了不同的版本......这占用了我的时间。
有什么解决方案吗?
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 的原生支持?它包括什么?
java - 带有bom的maven多项目结构
我必须重构一个使用 Maven 的 Java 单体应用程序。当前的应用程序有很多依赖项(我的意思是,很多。比如 100-150 个),许多配置文件和插件。所有这些都将被模块化,并将集成到 GitLab 管道中,并带有适当的工件存储库。
我检查了许多有关 maven 和 boms 的示例。
所以我在考虑这样的结构:
这是“最佳实践”工业化配置还是应该将 bom 嵌入到主 pom 中?
我知道应该在 repos 之间拆分依赖关系,但问题是我们有交叉链接的依赖关系,当时我现在无法处理它们。所以我必须尽可能集中所有这些。
maven - 如何解决我的 BOM 的dependencyManagement 依赖项?
我有一个相当大的项目的 Maven BOM(材料清单),其中包含<dependencyManagement>
块内的数百个依赖项。我想在为我公司的其他人发布之前验证是否可以成功解决所有依赖项。
不幸的是,该命令mvn dependency:resolve
(以及其他dependency
类似的命令dependency:tree
)似乎只在标准<dependencies>
块上运行,但忽略了<dependencyManagement>
. 我可以使用其他命令来执行此操作吗?
maven - 来自maven BOM的传递依赖?
我正在开发一个实用程序库,该库扩展了rdf4j框架,使用它的 BOM 模块导入它,例如:
是否可以使指定的 rdf4j 版本rdf4j-utils
可用于导入模块,以便可以从 BOM 导入其他 rdf4j 模块而不指定目标版本?例如:
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”插件,但事实并非如此。我很感激这里的一些指导,谢谢。
android - 使用 BillOfMaterials 时如何使库的传递依赖项显示在应用程序中?
我发现我的库的传递依赖项没有显示在应用程序中,尤其是当我的库中使用 maven BoM 时。
当没有 BoM 时,传递依赖出现在应用程序中。这是 3rd-party-lib 在 my-app 中正确显示为运行时依赖项的示例。
但是当我在我的库中使用 BoM(如下图所示)时,它不会在 my-app 中显示为运行时依赖项。这会导致运行时崩溃!
这是可重现此问题的代码:
在这种情况下,木材是 3rd-party-lib。如前所述,当 mylibrary 使用 BoM 时,这不会显示在应用程序中。因此,每当应用调用内部需要木材的库代码时,应用就会崩溃。
如何确保 mylibrary 将传递依赖项引入应用程序?
PS:我发布到 mylibrary 到本地的 maven。
maven - Maven中的BOM依赖与父依赖
我想知道 pom 中 Parent 和 BOM 之间的区别。看起来两者都解决了相同的问题,您不想在每个单独的项目中包含版本,而是将其维护在中央(父/BOM)maven中。
谁能帮我理解?谢谢你。