我们使用 BOM 来共享 MyCompany 中的依赖管理。
它被定义为 Maven POM。这是一个最小的例子:
<?xml version="1.0" encoding="UTF-8"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany.common</groupId>
<artifactId>common-java</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>
<properties>
<spring-boot.version>2.4.0</spring-boot.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
然后从 Gradle 项目中使用它。
虽然这适用于代码依赖项,但我想从插件管理中找到一种使用它的方法。
现在,我们在 中定义settings.gradle.kts
:
pluginManagement {
val springBootVersion: String by settings
plugins {
id("org.springframework.boot") version(springBootVersion)
}
}
springBootVersion
中定义的gradle.properties
。
这对我来说是个问题,因为 Spring 版本同时定义:
- 在共享 BOM 中;
- 在每个项目的插件管理中。
如何从 Gradle 的插件管理中访问该 BOM?如果我做不到,有什么好的不要重复自己的做法呢?