我正在做一个任务,其中父项目与所有所需的依赖项都在gradle中提到,这个项目用作父项目,基本上是一个BOM,其中包含所有提到的组件,可以在其他项目中用作依赖项
例如,在gradle文件中提到了Spring Boot父级和其他依赖项,我可以在其他项目中引用这个项目。
这些项目不是多模块结构。
Maven等效:
<dependencyManagement>
<dependencies>
<dependency>
</dependency>
</dependencies>
</dependencyManagement>
类似标签-pluginManagement、build、profile等
如果你可以参考我的资源或一些开端将是有帮助的。
谢谢。
可以使用以下平台实现跨项目共享公共依赖项版本:
平台是一种特殊的软件组件,可用于控制传递依赖版本。在大多数情况下,它完全由依赖约束组成,这些约束要么建议依赖版本,要么强制执行某些版本。因此,每当您需要在项目之间共享依赖版本时,这是一个完美的工具。
使用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')
}