gpt4 book ai didi

spring-boot - Gradle BOM项目

转载 作者:行者123 更新时间:2023-12-05 03:43:39 26 4
gpt4 key购买 nike

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

比如说,在gradle文件中提到了Spring boot parent和其他依赖,我可以在其他项目中引用这个项目。

项目不是多模块结构。

Maven 等效项:

<dependencyManagement>
<dependencies>
<dependency>
</dependency>
</dependencies>
</dependencyManagement>

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

如果您可以向我推荐资源或先行一步会有所帮助。

谢谢。

最佳答案

可以使用 platform 在项目之间共享公共(public)依赖版本。 :

A platform is a special software component which can be used to control transitive dependency versions. In most cases it’s exclusively composed of dependency constraints which will either suggest dependency versions or enforce some versions. As such, this is a perfect tool whenever you need to share dependency versions between projects.

随着Java Platform plugin ,您可以创建一个项目来完成此操作(Gradle 没有 1:1 等效的父级):

// 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'
}
}

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

// some other build.gradle

plugins {
id 'java'
}

dependencies {
implementation platform('com.example:my-parent-bom')
}

关于spring-boot - Gradle BOM项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66713518/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com