簡體   English   中英

如果不指定Maven插件的版本會怎樣?

[英]What happens if you do not specify the version of the maven plugin?

如果pom.xml中的spring boot 2沒有指示插件的版本,將會發生什么。 會自動使用最新版本嗎? 例如,maven-surefire-plugin。

<build>
        <!--Закомментировать если сборка с Java-->
        <sourceDirectory>${project.basedir}/src/main/kotlin</sourceDirectory>
        <testSourceDirectory>${project.basedir}/src/test/kotlin</testSourceDirectory>
        <!---->
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
            </plugin>

從Maven 3.x 文檔

當在POM或命令行中未提供明確版本的情況下調用插件時,Maven 2.x會選擇可用的最新版本,而最新版本可能是發行版或快照。 為了穩定起見,Maven 3.x比最新的快照版本更喜歡最新的發行版本。

鑒於自動插件版本解析會帶來不可復制的版本的威脅,就POM中的插件聲明而言,計划刪除此功能。 當檢測到缺少的插件版本以鼓勵將插件版本添加到POM或其父POM之一時,Maven 3.x的用戶會發現它輸出警告。 還可以使用Enforcer規則requirePluginVersions來檢查POM中缺少的插件版本。

這真的取決於您的父母是誰。 Spring Boot的父級具有用於許多插件(包括surefire)的pluginManagement ,因此它將使用該版本。 這是一個固定版本,取決於您使用的Spring Boot版本。

即使您使用最新的Spring Boot版本,也無法保證它將是最新版本,因為我們試圖與我們的升級策略保持一致。 您可以通過mvn help:effective-pom自己mvn help:effective-pom

暫無
暫無

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

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