![](/img/trans.png)
[英]How does Maven decide what version of a plugin to use, when you don't specify any?
[英]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.