Maven 发布插件:它从哪里获取版本?
Maven Release Plugin: Where Is It Getting It's Version From?
当我在项目上使用 Maven 发布插件时,它发布了错误的东西。这似乎是我正在使用的 Maven 发布插件版本中的一个固定错误,所以我想更新它。但是我不太清楚它是从哪里得到这个版本的。
当我运行mvn release:help
我可以看到我是运行宁版2.3.2
。但是我找不到这个版本的定义位置。它不在我项目的 POM 文件中。它也不在我 M2_HOME
的 settings.xml 文件中。
我知道我可以修复这个项目的版本,但我宁愿为所有项目修复它。任何人都知道我可以在哪里看?升级到最新版本的 Maven 3.X 对我使用的插件版本没有影响。
它是在 Super POM 中定义的,所有其他 POM 都继承自该 POM。来自 the docs of Maven 3.3.9(当前为最新版本):
All models implicitly inherit from a super-POM:
...
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>2.3.2</version>
</plugin>
这个 POM 定义了几个广泛使用的插件的全局版本和每个 Maven 项目的全局默认值。其中之一是 maven-release-plugin
并且声明的版本是 2.3.2.
当我在项目上使用 Maven 发布插件时,它发布了错误的东西。这似乎是我正在使用的 Maven 发布插件版本中的一个固定错误,所以我想更新它。但是我不太清楚它是从哪里得到这个版本的。
当我运行mvn release:help
我可以看到我是运行宁版2.3.2
。但是我找不到这个版本的定义位置。它不在我项目的 POM 文件中。它也不在我 M2_HOME
的 settings.xml 文件中。
我知道我可以修复这个项目的版本,但我宁愿为所有项目修复它。任何人都知道我可以在哪里看?升级到最新版本的 Maven 3.X 对我使用的插件版本没有影响。
它是在 Super POM 中定义的,所有其他 POM 都继承自该 POM。来自 the docs of Maven 3.3.9(当前为最新版本):
All models implicitly inherit from a super-POM:
...<plugin> <artifactId>maven-release-plugin</artifactId> <version>2.3.2</version> </plugin>
这个 POM 定义了几个广泛使用的插件的全局版本和每个 Maven 项目的全局默认值。其中之一是 maven-release-plugin
并且声明的版本是 2.3.2.