簡體   English   中英

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

[英]How is the maven version specified in Spring Boot Starters?

我讀了參考,但我不明白如何在依賴項中設置versionId。 例如, MongoDB啟動器指定

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

但缺少version標記。 使用這些啟動時mongodb-driver的版本如何確定?

啟動器atrifacts的版本在啟動器父級中進行管理。 例如,如果你的POM中有這個:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
</parent>

然后,您引用的任何引導啟動程序依賴項都將具有版本2.0.2.RELEASE,除非您覆蓋默認值並由於某種原因提供您自己的版本。

這不僅與初學者有關,如果項目中有許多模塊,他們有不同的依賴關系。 作為常規練習,有一個帶有常規設置的父pom.xml

如果您在子maven模塊中看到依賴,如下所示:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
</dependency>

pom有一個配置的依賴項,如:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.5</version>
</dependency>

通常,配置具有屬性的版本更靈活:

<properties>
    <commons-lang3.version>3.5</commons-lang3.version>
</properties>

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>${commons-lang3.version}</version>
</dependency>

MongoDb版本使用依賴關系管理機制在spring-boot-dependencies中定義。

<properties>
    <mongodb.version>3.8.0-beta2</mongodb.version>
<properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>${mongodb.version}</version>
        </dependency>
    <dependencies>
<dependencyManagement>

依賴管理是一種集中依賴信息的機制。 如果有一組繼承了公共父項的項目,則可以將所有關於依賴項的信息放在公共POM中,並且可以更簡單地引用子POM中的工件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM