首页 > 解决方案 > 为什么默认 maven 使用这么旧版本的插件?

问题描述

我是 Maven 新手,在 pom.xml 中没有定义版本时,我正在努力找出 maven 如何决定使用哪个版本的插件(例如 maven-compiler)。

使用最新的 Maven 版本 3.8.1。创建了一个 hello-world java 程序并运行 mvn compile。它下载以下版本: maven-resources-plugin:2.6:resources (default-resources) maven-compiler-plugin:3.1:compile (default-compile)

maven-compiler-plugin:3.1 于 2013 年 4 月发布。最新的是 3.8.1。当我没有在 pom 中给出任何具体内容时,为什么 maven 不使用最新版本?

与 maven-resources-plugin:2.6 相同。该版本于2012年8月发布。最新版本为3.2.0。

我知道我可以在 pom.xml 中定义这些插件的最新版本。但是为什么默认的 maven 使用这么旧的版本呢?我是否缺少任何配置?

标签: javamaven

解决方案


您缺少配置意味着您必须通过 pluginManagement 定义适当的插件(所有插件及其版本)。

如果默认值被更改,我们会有很多项目失败。

我强烈建议定义这里给出的版本https://maven.apache.org/plugins/

通常,插件版本的定义是公司母公司的一项任务,即在一个位置定义所有插件和默认配置。


推荐阅读