Spring Boot Starters中的maven版本是如何指定的?

Nic*_*ell 4 java spring maven spring-boot

我阅读了参考资料,但我不明白如何在依赖项中设置 versionId。例如MongoDB starter指定

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-mongodb</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.mongodb</groupId>
                    <artifactId>mongo-java-driver</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>org.slf4j</groupId>
                    <artifactId>jcl-over-slf4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

但是version标签不见了。mongodb-driver使用这些启动时的版本是如何确定的?

Mic*_*ock 5

启动器原型的版本在启动器父级中进行管理。例如,如果你的 POM 中有这个:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
</parent>
Run Code Online (Sandbox Code Playgroud)

然后,您引用的任何引导启动程序依赖项都将具有 2.0.2.RELEASE 版本,除非您出于某种原因覆盖默认值并提供您自己的版本。

  • @Nic Cottrell 它在`spring-boot-dependencies` 模块中定义。作为对我的答案的更新的一部分发布。 (2认同)