发行说明 – Maven 3.5.3

Apache Maven 团队宣布发布 Maven 3.5.3

Maven 3.5.3可供下载

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

核心版本独立于可用的插件。插件的进一步版本将单独制作。有关更多信息,请参阅插件列表。

我们希望您喜欢使用 Maven!如果您有任何问题,请咨询:

本新闻稿的记者和贡献者

我们非常重视这些非提交者的贡献,因此本节将重点关注这些人。已修复问题的描述可在这些发行说明的末尾找到。

错误:

改进:

非常感谢所有记者和投稿人的时间和支持。

初步测试人员

也感谢您的时间和反馈。

已知的问题

在发布测试期间发现了一个新问题。此问题会影响 Windows 用户。当使用并行线程(即-T命令行选项)运行 Maven 时,Maven 可能会输出虚假的 ANSI 转义,例如[0m [0m MNG-6372

有关更改的概述

所以现在关于新(小)功能的一些更有趣的事情:

  • 日志输出现在包含一些与模块数量相关的进度信息,如下所示MNG-6302

    [INFO] Building parent 5.0.1-SNAPSHOT                                     [1/9]
    

    该数字1是正在构建的当前数量,9在这种情况下是必须整体构建的模块数量。所以我们在 9 的模块 1 中。

    此外,关于包装类型和 groupId/artifactId 的信息现在正在构建过程中显示,如下面的MNG-6308

    [INFO] ------------------< com.soebes.examples.j2ee:parent >-------------------
    [INFO] Building parent 5.0.1-SNAPSHOT                                     [1/9]
    [INFO] --------------------------------[ pom ]---------------------------------
    [INFO]
    

    最后,我们在构建MNG-6352的末尾添加了模块或反应器的版本:

    [INFO] ------------------------------------------------------------------------
    [INFO] Reactor Summary:
    [INFO]
    [INFO] parent 5.0.1-SNAPSHOT .............................. SUCCESS [  0.238 s]
    [INFO] domain ............................................. SUCCESS [  0.014 s]
    [INFO] service-client ..................................... SUCCESS [  0.008 s]
    [INFO] webgui ............................................. SUCCESS [  0.010 s]
    [INFO] service ............................................ SUCCESS [  0.007 s]
    [INFO] app ................................................ SUCCESS [  0.005 s]
    [INFO] appasm ............................................. SUCCESS [  0.005 s]
    [INFO] shade .............................................. SUCCESS [  0.006 s]
    [INFO] assembly 5.0.1-SNAPSHOT ............................ SUCCESS [  0.005 s]
    [INFO] ------------------------------------------------------------------------
    

    如果您有大量模块来获取有关正在构建的版本的信息,这会很有帮助。这意味着在过去滚动到最后一个模块并在那里查找版本。现在这可以简单地在构建结束时看到。如果您有一个多模块构建,其中所有模块的编号都相同,它将仅在第一行和最后一行给出。如果您有一个聚合器构建版本,将为每个项目打印出版本。

  • 还有一件事得到了优化。我们已System.gc()在构建结束时删除了调用,因为这可能会导致例如 AWS 系统上与运行垃圾收集所花费的时间相关的成本,而这并不是真正必要的 MNG-6340。这也意味着生成的输出会像这样发生一些变化:

    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 6.111 s
    [INFO] Finished at: 2018-02-25T15:34:10+01:00
    [INFO] ------------------------------------------------------------------------
    

    因此,不再有任何台词可以告诉您有关内存的内容。

  • 如果您使用过不推荐使用的版本标记,RELEASE或者这将在构建MNG-6342LATEST期间产生警告。

详细问题清单

错误:

  • MNG-6188 - 中断构建过程时控制台颜色未正确重置
  • MNG-6255 - Maven 脚本无法jvm.config使用 CRLF解析
  • MNG-6282 - 控制台输出在 shell 中没有颜色(Git Bash 和 Cygwin)(Jansi 1.16 / Maven 3.5.1 中的回归)
  • MNG-6296 - 新选项-Dstyle.color不起作用
  • MNG-6298 - 3.5.2:ClassNotFoundException: javax.annotation.security.RolesAllowed
  • MNG-6300 - 多模块发布在 war 文件中创建空目录而不是 jars
  • MNG-6305 - CI 友好版本的验证不正确
  • MNG-6320 - maven 日志中的错误消息中的非 ascii java 类文件名的编码显然错误
  • MNG-6323 - 多线程依赖解析中的死锁
  • MNG-6330 -(回归)不再验证父母的 relativePath

新功能

  • MNG-6302 - 提供一些“进度”提示

改进

  • MNG-5992 - 由于 Super POM 仍使用 Maven 发布插件 2.3.2,Git 密码被暴露
  • MNG-6306 - 在 maven-resolver-provider 中使用更轻的替代品替换 Guava
  • MNG-6308 - 构建模块时显示包装和 groupId:artifactId
  • MNG-6332 - 清理mvn.cmd脚本
  • MNG-6340 -(性能)System.gc()在目标摘要代码中使调用可配置
  • MNG-6342 - 在父级中发出有关 LATEST/RELEASE 的警告
  • MNG-6352 - 在构建结束时打印输出版本信息

任务

  • MNG-6331 - 从构建插件管理中删除 maven-bundle-pugin

依赖升级

  • MNG-6312 - 更新 Maven Wagon 依赖项
  • MNG-6335 - 将测试框架 Mockito 从 1.10 更新到 2.12
  • MNG-6353 - 将 maven-shared-utils 升级到 3.2.1

完整的变更列表可以在我们的问题管理系统中找到。

完整的发行说明

查看所有版本的完整发行说明