CMake 4.4 主版本推出,诊断系统与 Presets 能力成为核心变化
2026-08-06 3442731
2026-08-06 0
Apache Maven 团队发布了Maven 3.9.16,继续维护更新当前的3.9稳定分支。最新发布历史记录显示该版本上线日期为2026年5月13日,运行环境要求还是Java 8。这次发布定位是Maven 3.9.15之后的回归修复和细节优化,所有已经在用Maven 3.9.x的用户都建议升级。改动总量不多,全是日常构建里很容易反复碰到的解析、命令行相关的细节问题。
图片来源:Apache Maven 最新发布说明
Maven 3.9.16最实用的一项修复针对插件前缀解析。新版本不会再无脑强制下载元数据,能减少大量冗余的仓库访问和无效更新请求,尤其适合对接多个远程仓库、网络条件不稳定,或是对外部请求有严格管控的构建环境。另外还调整了--threads参数的识别逻辑,现在参数前后带空格也能正常解析,写脚本拼接参数、或是从环境变量读取并发配置的时候容错率高很多。
目前最新发布说明里没有标注已知问题,但要注意Maven核心版本和插件版本是独立发布的,升级Maven本身不会自动更新项目里用到的插件。团队要做版本统一的话,最好通过Maven Wrapper、构建镜像或者工具链配置来指定统一版本,升级前后记得比对依赖解析结果、插件执行情况和测试报告。本来就在用3.9分支的项目,这次属于低风险的维护升级,正常走完常规回归测试就可以。

图片来源:Apache Maven 最新参考文档
发布说明里依然保留了从3.8.x迁移时可能引发异常的变更点:Maven Resolver的默认传输方式已经从Wagon切换为原生HTTP;从3.9版本开始,核心不再为了历史兼容,自动往插件类路径里注入旧版plexus-utils。受影响的插件需要自行显式声明对应依赖,使用方优先更新对应插件就好,没必要长期在项目里保留临时兼容补丁。
除此之外,.mvn/maven.config现在会把每一行内容都当成一个独立参数,多个参数需要分开写在不同行;系统属性和用户属性的处理逻辑也做了统一清理。Maven 3.9系列还会主动输出插件验证警告,提示你用到了旧API、依赖范围配置错误,或是配置项已经过时。升级到3.9.16之后顺手处理掉这些警告,能大幅降低之后迁移Maven 4时一堆兼容问题集中爆发的概率。