java - 为什么默认 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 使用这么旧的版本呢?我是否缺少任何配置?
解决方案
您缺少配置意味着您必须通过 pluginManagement 定义适当的插件(所有插件及其版本)。
如果默认值被更改,我们会有很多项目失败。
我强烈建议定义这里给出的版本https://maven.apache.org/plugins/
通常,插件版本的定义是公司母公司的一项任务,即在一个位置定义所有插件和默认配置。
推荐阅读
- bash - 如何在脚本中使用 * 使其保留特殊含义
- c# - 使用 MySql 内连接在谷歌饼图上显示数据
- forms - 使用 Forms 集合 symfony 2 上传后显示图像
- powershell - 如何连接正则表达式匹配和不带空格或其他字符的字符串变量?
- sql-server - 即使字段为空, stuff() 也会添加分隔符
- cypress - 赛普拉斯仅将我们的域列入白名单
- kubernetes - 使用 Kubernetes 在超级账本结构上实例化链码时出错
- java - 如何使用 CSS 更改 controlsfx SegmentedButton 的边框?
- node.js - 如何在 NodeJs 中使用来自 rxjs 的 forkjoin 进行多次调用,使用 NPM 请求
- mysql - 在 XAMPP localhost 上加载记录