有没有办法设置我们在模块中使用的BOM版本?

时间:2016-11-23 15:39:58

标签: maven maven-bom

我们有许多模块使用相同的bom。

是否有工具将它们全部推送到最新(或特定)版本?

有没有办法阻止在发布中使用SNAPSHOT?

1 个答案:

答案 0 :(得分:1)

要更新版本,这对我来说很顺利:

我的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>

在这种情况下使用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

强制执行插件当前不能将SNAPSHOT版本检测到依赖关系管理选项,但是在依赖关系管理部分声明的托管依赖关系可以正常工作。如果进入bom存在与快照版本的托管依赖关系,它将激活规则,并且它在子pom out依赖关系管理部分中声明它的依赖关系。但是,对于thrithparty依赖,像springframework这样的工件,例如,非常发生。