Apache Maven 3.9.0 发布,项目管理和构建工具


Apache Maven 3.9.0 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。

此版本更新内容如下:

Sub-task

  • [MNG-7019] - 当配置文件丢失时也在 start 时通知
  • [MNG-7447] - 通过使用 Stream API 进行多项改进

Bug

  • [MNG-5222] - Maven 3 不再记录有关已弃用插件的警告参数。
  • [MNG-6965] - 扩展突然有了 org.codehaus.plexus:plexus-utils🏺1.1 在他们的类路径上
  • [MNG-7055] - 使用 MINSTALL/DEPLOY 3.0.0-M1+ 不会将插件信息写入 maven-metadata.xml
  • [MNG-7106] -VersionRange.toString() 产生的字符串无法用 VersionRange.createFromVersionSpec()解 析出相同的下限和上限。
  • [MNG-7131] - maven.config 不处理其中包含空格的参数
  • [MNG-7160] - 扩展和类加载器:给定扩展类型的结果差异
  • [MNG-7316] - REGRESSION:MavenProject.getAttachedArtifacts() 是只读的
  • [MNG-7352] - org.apache.maven.toolchain.java.JavaToolchainImpl 应该是公共的
  • [MNG-7413] - 修复报告插件、分发库和配置文件构建方面的 POM 模型文档混乱问题
  • [MNG-7425] - Maven 工件下载有时会导致本地仓库中出现空的 zip 文件
  • [MNG-7432] - [REGRESSION] Resolver 会话包含 non-MavenWorkspaceReader
  • [MNG-7433] - [REGRESSION] 多个 Maven 实例在同一个 source tree 上工作可以互相锁定
  • [MNG-7441] - 更新(可选)Logback 版本以解决 CVE-2021-42550
  • [MNG-7448] - 不要忽略 bin/,否则 apache-maven 模块中的 bin/ 不能被读取
  • [MNG-7471] - Resolver 1.8.0 在使用 Resolver 的插件中引入了 binary breakage
  • [MNG-7487] - 修复 forked lifecycle executions 期间的死锁
  • [MNG-7493] - [REGRESSION] 解决子模块之间的依赖关系失败
  • [MNG-7515] - 看不到 apache-maven 模块的 dependency tree 
  • ......

New Feature

  • [MNG-3655] - 允许多个本地存储库
  • [MNG-6270] - 将快照存储在单独的本地存储库中
  • [MNG-7193] - 引入 MAVEN_ARGS 环境变量
  • [MNG-7353] - 添加对“mvn pluginPrefix:version:goal”的支持
  • [MNG-7391] - 添加 Maven Build Cache Extension 所需的 MojoExecution strategy 和 runner
  • [MNG-7454] - 在 Maven 中包含 resolver-transport-http
  • [MNG-7457] - 关于已弃用的插件 Mojo 的警告
  • [MNG-7464] - 关于在配置中为 Mojo 使用只读参数的警告
  • [MNG-7468] - 配置中不支持的插件参数应该被验证
  • [MNG-7486] - 为 boxed log 消息创建多行消息助手
  • [MNG-7612] - 链式本地存储库

Improvement

  • [MNG-6609] - 通过打包激活配置文件
  • [MNG-6826] - 在 FileSizeFormatTest 中删除 JDK8+ 的条件检查
  • [MNG-6972] - 允许访问 org.apache.maven.graph
  • [MNG-7068] - Google Guice/Guava 的主动依赖管理
  • [MNG-7350] - 为 ModelCache 引入一个 factory
  • [MNG-7401] - 使 MavenSession#getCurrentProject() 使用本地线程
  • [MNG-7438] - 在“Configuring mojo xxx with basic configurator”调试信息中添加执行 D
  • [MNG-7445] - 重构一些无用的代码
  • [MNG-7463] - 改进有关 Mojo 中弃用的文档
  • [MNG-7478] - 改进解析器的传输选择
  • [MNG-7501] - 显示 pom.xml 的相对路径
  • [MNG-7520] - 为 Maven 解析器简化 Redisson 和 Hazelcast 的集成
  • [MNG-7547] - 简化 G level 元数据处理
  • ......

Task

  • [MNG-6399] - 将 JDK 最低提升到 JDK 8
  • [MNG-7452] - 删除在 Maven 3.9.X 分支上运行的 JDK7
  • [MNG-7466] - 对齐 Assembly Descriptor NS 版本
  • [MNG-7513] - 解决maven最新版本中发现的commons-io_commons-io漏洞
  • [MNG-7523] - Back port MAVEN_ARGS 至 Apache Maven 3.9.0
  • [MNG-7556] - 清理用户属性和系统属性之间的概念
  • [MNG-7618] - 使用 goalPrefix 而不是 artifactId 来显示 mojos 被执行
  • [MNG-7634] - Revert MNG-5982 和 MNG-7417
  • [MNG-7636] - Partially revert MNG-5868 以恢复向后的兼容性(参见 MNG-7316)

Dependency upgrade

  • [MNG-6878] - 将 Guice 升级到 4.2.3
  • [MNG-7247] - 将 Maven Resolver 升级到 1.7.2
  • [MNG-7453] - 将 Maven Resolver 升级到 1.8.0
  • [MNG-7488] - 将 SLF4J 升级到 1.7.36
  • [MNG-7489] - 将 JUnit 升级到 4.13.2
  • [MNG-7491] - 将 parent POM 为 36
  • [MNG-7499] - 将 Maven 解析器升级到 1.8.1
  • [MNG-7502] - 将 Guice 升级到 5.1.0
  • [MNG-7506] - 将 Maven Wagon 升级到 3.5.2
  • [MNG-7522] - 将 Maven Resolver 升级到 1.8.2
  • [MNG-7530] - 将 Apache Maven parent POM 升级到版本 37
  • [MNG-7586] - 将 Maven Resolver 更新到 1.9.2
  • [MNG-7613] - 将 Apache Maven parent POM 升级到版本 38
  • [MNG-7641] - 将 Maven Wagon 升级到 3.5.3
  • [MNG-7668] - 将 Maven Resolver 更新到 1.9.4
  • [MNG-7675] - 将 Maven Parent 更新为 39

更多详情可查看官方公告


相關推薦

2023-10-07

Apache Maven 3.9.5 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7851] - modelVersion 为 4.0 时的错误消息令

2022-06-13

Apache Maven 3.8.6 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7432] - [REGRESSION] Resolver 会话包含非 MavenWor

2023-08-06

Apache Maven 3.9.4 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7846] - DefaultExceptionHandler.getMessage() 中的

2023-06-29

Apache Maven 3.9.3 现已发布。Apache Maven 是一个项目管理和构建工具。基于项目对象模型(POM)的概念, Maven 可以从中心位置管理项目的构建、报告和文档。 此版本更新内容如下: Bug [MNG-7786] - Maven 插件验证消息具有误导性 [M

2023-05-18

Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:面向接口的远程方法调用、智能容错和负载均衡,以及服务自动注册和发现。Apache Dubbo 3.2.1 现已发布,具体更新内容包括: Feature 添加跟踪启动

2022-12-13

Apache NetBeans 是顶级的 Apache 项目,是一个开源的开发环境、工具平台和应用框架,可以满足开发者、用户和依靠 NetBeans 作为产品基础的企业的需求,使他们能够快速、有效、轻松地开发产品。 Gradle 在 Gradle 中初步实现(实

2023-12-05

Apache NetBeans 20 现已正式发布。NetBeans 是一个主要面向 Java 的集成开发环境,同时支持 C/C++、PHP、JavaScript 和其他编程语言。 一些更新内容包括: Gradle 返回所有 loaders 的最高质量 #6371 将 Gradle Tooling API 更新到 8.4 

2022-11-27

Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设置,而不是传统的 XML。 Gradle 7.6 现已发布,此版本

2022-08-07

Gradle 7.5.1 现已发布。Gradle 是一个基于 Apache Ant 和 Apache Maven 概念的项目自动化构建工具,支持依赖管理和多项目,类似 Maven,但比之简单轻便。它使用一种基于 Groovy 的特定领域语言来声明项目设

2023-01-18

ben-admin 开发 (vue3.x) 如果你非要说 lamp 是 Linux+Apache+MySQL+PHP,那就算是吧,毕竟 PHP 是世界上最好的语言,我也希望此项目成为世界上最好的后台框架!😈😈😈 lamp-cloud 简介 lamp-cloud 的前身是 zuihou-admin-cloud

2022-11-03

smart-doc 是一款同时支持 java restful api 和 Apache Dubbo rpc 接口文档生成的工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。 smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,

2023-07-11

smart-doc 是一款同时支持 java restful api 和 Apache Dubbo rpc 接口文档生成的工具,smart-doc 颠覆了传统类似 swagger 这种大量采用注解侵入来生成文档的实现方法。 smart-doc 完全基于接口源码分析来生成接口文档,完全做到零注解侵入,

2022-09-19

Apache Struts 小组宣布,Apache Struts 6.0.3 版现已作为“General Availability”版本提供。具体更新内容包括: 将 async 和速度插件添加到 bom #568 [WW-5191] 修复了 <s:textarea/> 标签中 maxLength 和 minLength 属性的位置 #572 [WW-5185] 重

2023-04-18

20230407 现已发布,该版本新增了许多软件包。包括:apache-commons-cli、apache-commons-lang3、apache-commons-logging、atinject、atop - promoted from extended to core、cal10n、dracut-megaraid、glassfish-servlet-api、google-guice、guava,htop - promoted from extended t