首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分级BOM项目

分级BOM项目
EN

Stack Overflow用户
提问于 2021-03-19 18:06:35
回答 1查看 1.8K关注 0票数 3

我正在执行一个任务,其中在gradle中提到了具有所有所需依赖项的父项目,并且这个项目将用作父项目,基本上是一个BOM,它包含所有提到的组件,可以在其他项目中引用为依赖项。

例如,在gradle文件中提到了Spring父级和其他依赖项,我可以在其他项目中引用这个项目。

这些项目不属于多模块结构。

Maven等效:

代码语言:javascript
复制
<dependencyManagement>
<dependencies>
  <dependency>
 </dependency>
</dependencies>
</dependencyManagement>

类似的标签- pluginManagement,build,profiles等

如果你能给我提供一些资源或者一些先导会很有帮助。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-20 18:00:16

可以使用平台在项目之间共享公共依赖版本

平台是一个特殊的软件组件,可以用来控制传递依赖的版本。在大多数情况下,它完全由依赖约束组成,这些约束要么建议依赖版本,要么强制执行某些版本。因此,无论何时您需要在项目之间共享依赖版本,这都是一个完美的工具。

使用Java平台插件,您可以创建一个项目来完成这个任务(Gradle没有相当于父级的1:1 ):

代码语言:javascript
复制
// build.gradle
// Let's call this project com.example:my-parent-bom

plugins {
    id 'java-platform'
}

javaPlatform {
    allowDependencies()
}

dependencies {
    // Import other BOMs
    api platform('org.springframework.boot:spring-boot-dependencies:2.4.4')
    api platform('org.springframework.cloud:spring-cloud-dependencies:2020.0.2')

    // Define version for dependencies not managed by the above BOMs
    constraints {
        api 'commons-httpclient:commons-httpclient:3.1'
        runtime 'org.postgresql:postgresql:42.2.5'
    }
}

然后,您可以像其他任何Gradle项目一样使用这个平台,并使用它:

代码语言:javascript
复制
// some other build.gradle

plugins {
    id 'java'
}

dependencies {
    implementation platform('com.example:my-parent-bom')
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66713518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档