我正在执行一个任务,其中在gradle中提到了具有所有所需依赖项的父项目,并且这个项目将用作父项目,基本上是一个BOM,它包含所有提到的组件,可以在其他项目中引用为依赖项。
例如,在gradle文件中提到了Spring父级和其他依赖项,我可以在其他项目中引用这个项目。
这些项目不属于多模块结构。
Maven等效:
<dependencyManagement>
<dependencies>
<dependency>
</dependency>
</dependencies>
</dependencyManagement>类似的标签- pluginManagement,build,profiles等
如果你能给我提供一些资源或者一些先导会很有帮助。
谢谢。
发布于 2021-03-20 18:00:16
可以使用平台在项目之间共享公共依赖版本
平台是一个特殊的软件组件,可以用来控制传递依赖的版本。在大多数情况下,它完全由依赖约束组成,这些约束要么建议依赖版本,要么强制执行某些版本。因此,无论何时您需要在项目之间共享依赖版本,这都是一个完美的工具。
使用Java平台插件,您可以创建一个项目来完成这个任务(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'
}
}然后,您可以像其他任何Gradle项目一样使用这个平台,并使用它:
// some other build.gradle
plugins {
id 'java'
}
dependencies {
implementation platform('com.example:my-parent-bom')
}https://stackoverflow.com/questions/66713518
复制相似问题