有没有办法设置我们跨模块使用的 BOM 版本?
Is there a way to set the version of a BOM we are using across modules?
我们有很多使用相同 bom 的模块。
是否有工具可以将它们全部升级到最新(或特定)版本?
有没有办法防止在发布中使用 SNAPSHOT bom?
要更新版本,这对我来说很顺利:
我的 pom 和 bom
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
<spring.version>3.2.6.RELEASE</spring.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
with mvn versions:update-properties -Dincludes=org.springframework:spring-framework-bom
在这种情况下结果是
[INFO] --- versions-maven-plugin:2.2:update-properties (default-cli) @ abc ---
[INFO] artifact org.springframework:spring-framework-bom: checking for updates from nexus-dev
[INFO] artifact org.springframework:spring-framework-bom: checking for updates from nexus
[INFO] Updated ${spring.version} from 3.2.6.RELEASE to 4.3.4.RELEASE
enforce 插件当前无法检测 SNAPSHOT 版本到依赖管理设置中,但在依赖管理部分声明托管依赖时它可以工作。如果在 bom 中存在具有快照版本的托管依赖项并且它的依赖项在子 pom 输出依赖项管理部分中声明,它将激活规则。但是对于像springframework这样的thirthparty dependency bom artifact, by example, is very weard happen.
我们有很多使用相同 bom 的模块。
是否有工具可以将它们全部升级到最新(或特定)版本?
有没有办法防止在发布中使用 SNAPSHOT bom?
要更新版本,这对我来说很顺利:
我的 pom 和 bom
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.7</java.version>
<spring.version>3.2.6.RELEASE</spring.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${spring.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
with mvn versions:update-properties -Dincludes=org.springframework:spring-framework-bom
在这种情况下结果是
[INFO] --- versions-maven-plugin:2.2:update-properties (default-cli) @ abc ---
[INFO] artifact org.springframework:spring-framework-bom: checking for updates from nexus-dev
[INFO] artifact org.springframework:spring-framework-bom: checking for updates from nexus
[INFO] Updated ${spring.version} from 3.2.6.RELEASE to 4.3.4.RELEASE
enforce 插件当前无法检测 SNAPSHOT 版本到依赖管理设置中,但在依赖管理部分声明托管依赖时它可以工作。如果在 bom 中存在具有快照版本的托管依赖项并且它的依赖项在子 pom 输出依赖项管理部分中声明,它将激活规则。但是对于像springframework这样的thirthparty dependency bom artifact, by example, is very weard happen.