Apache家族又出喜事,Apache Maven升级啦!

作者 : 开心源码 本文共4261个字,预计阅读时间需要11分钟 发布时间: 2022-05-12 共68人阅读

Apache家族一直备受程序员的关注,继Apache Maven 3.3.9之后,直接跳到3.5.0,至于3.4.0,程序员怕是看不到了,不过也没什么关系,功能够强大就足以!来看看是哪些新功能足以让3.4.0系列直接消失。

Apache家族又出喜事,Apache Maven升级啦!

CloudBees的Elite开发人员和架构师,Apache基金会的成员,社区贡献者和PMC,在Maven邮件列表的一封信中宣布,Maven 3.4.0已经被废弃,下一个版本[Apache Maven 3.5.0]现在已经可使用。

大部分程序员应该早有预知:3.4.0将被废除。Connolly在2017年初就公布了这个变化,Maven3.4.0的原始计划是有效替代Eclipse Aether项目的无效操作(已经在Eclipse Foundation中退休),现在称为Apache Maven Resolver的迁移代码。此外,该计划还要求了关于日志着色的正交变化和启动器脚本错误修复。

因为少量误会,引入了许多其余变化,可以看作是修改依赖关系和类路径的构建方式。尽管Maven方面希望将这些更改作为bug修复发布,但也必需提供明确的开发进度。他们想要修复的少量错误需要更改解析器代码,开发人员认为标记迁移代码的基准是重要的,因而它应该成为3.3.9的替代品。

Apache Maven 3.5.0的重要更改如下:

  • ANSI颜色增加到控制台输出

  • 在mvn脚本中修复有关空格,引号,特殊符号的各种错误字符等也与.mvn / -files结合用

  • 从Eclipse Aether切换到Maven Artifact Resolver

Connolly解释说,发布的原始目标是在迁移到Apache Maven项目之后,用完全相同的代码替换Aether,而后对解析器代码以及Maven的其余区域进行修复。代码在两个基础之间的迁移所花费的时间比预期长,因而,种种改变对Maven的承诺超出了3.4.0的范围。

Bug修复

[MNG-5297] – 站点应该提醒“prerequisites.maven已被弃使用”

[MNG-5368]-在dependencyManagement定义中版本范围不正确时抛出UnsupportedOperationException

[MNG-5629] – DefaultUpdateCheckManager.read的ClosedChannelException

[MNG-5815] – “mvn.cmd”在用“&&”时不能正常显示故障

[MNG-5823] – mvnDebug不能与M2_HOME一起用空格 – 缺少引号

[MNG-5829] – mvn shell脚本在Solaris 10上失败并出现语法错误

[MNG-5836] – 日志配置被$ M2_HOME / lib / ext / *.jar覆盖

[MNG-5852] – mvn shell脚本调使用/ bin / sh但需要Bash函数

[MNG-5895] – CI友好用$ {..}的问题,已经通过pom文件中的属性定义了。

[MNG-5958]-java.lang.String不能转换为org.apache.maven.lifecycle.mapping.LifecyclePhase

[MNG-5961] – Maven可能不知道log4j2

[MNG-5962] – 当前目录之间有空格时,mvn.cmd失败

[MNG-5963] – mvn.cmd不返回ERROR_CODE

[MNG-6022] – 假如目录包含&符号,则mvn.cmd失败

[MNG-6053] – 不安全的系统属性复制在MavenRepositorySystemUtils中,导致NPE

[MNG-6057] – CI友好用$ {..}反应堆订单的问题已更改

[MNG-6090] – CI友好的属性打破子板块构建

[MNG-6105] – properties.internal.SystemProperties.addSystemProperties()不是真正的线程安全

[MNG-6109] – PluginDescriptor不读取参数的值

[MNG-6117] – $ {session.parallel}未正确设置

[MNG-6144] – DefaultWagonManagerTest#testGetMissingJarForced()传递不正确的值

[MNG-6166] – mvn依赖关系:因为缺少传递依赖关系,go-offline失败jdom:jdom:jar:1.1

[MNG-6168] – 修复未封闭的流

[MNG-6170] – 用Multithreaded -T X版本的NPE:set -DnewVersion = 1.0-SNAPSHOT

[MNG-6171] – REGRESSION:关于用非线程安全标记的插件的警告不再显示

[MNG-6172] – 命令行系统属性选项的优先级已更改

[MNG-6173] – MavenSession.getAllProjects()应该返回反应堆中的所有项目

[MNG-6176] – Javadoc错误阻止用Java 8发布

[MNG-6177] – Windows和Unix启动器的-file命令行选项不适使用于目录名称,如“空格和特殊字符”

[MNG-6181] – HttpClient在调试日志级别产生大量噪声

[MNG-6183] – 依赖管理调试消息更正。

[MNG-6190] – maven-resolver-provider的DefaultArtifactDescriptorReader具备不匹配的构造函数和initService方法

[MNG-6191] – mvn -f抱怨MacOS下的非法readlink选项

[MNG-6192] – 分发zip文件具备无序条目

[MNG-6195] – 在mvn启动器脚本中用一致的引使用表单

[MNG-6198] – 当用-f指定pom位置时,mvn脚本找不到.mvn目录

依赖更新

[MNG-5967] – 依赖关系升级

[MNG-6110] – 将Aether更新到Maven Resolver

改进

[MNG-5579] – 从shell和批解决脚本统一错误输出/检查逻辑

[MNG-5607] – 不在mvn shell /命令脚本中用M2_HOME

[MNG-5883] – 关闭不必要的传统本地存储库警告

[MNG-5889] – 用-file时,应该选择.mvn目录

[MNG-5904] – 删除整个Ant构建

[MNG-5931] – 修复文件

[MNG-5934] – PMD识别的字符串解决问题

[MNG-5946] – 修正README.txt中的链接等,这是交付的一部分

[MNG-5968] – 默认插件版本升级

[MNG-5975] – 在CLIReportingUtils中用Java 7的SimpleDateFormat#formatTimestamp

[MNG-5977] – 提高MavenTransferListener实现的输出可读性

[MNG-5993] -在pluginManagement中缺少/空的artifactId和版本的情况下出现混淆的错误信息

[MNG-6001] – 将%HOME%替换为mvn.cmd中的%USERPROFILE%

[MNG-6003] – 大幅减少JAVA_HOME发现代码

[MNG-6014] – 删除ejb3的ArtifactHandler

[MNG-6017] – 删除循环中的ArtifactHandler

[MNG-6030] -在maven 3.0.5版本之后,ReactorModelCache不能有效地用,这会导致大量的内存占使用

[MNG-6032] – 基于汇编形容符中的绝对路径构建期间的警告。

[MNG-6068] – pom XSD和参考文档中的文档默认范围编译

[MNG-6078] – 无法覆盖已在.mvn / maven.config中定义的属性

[MNG-6081] – 日志重构、变量替换方法调使用

[MNG-6102] – 在m2.conf中引入$ {maven.conf}

[MNG-6115]-将Jansi本机库搜索路径增加到起始脚本中,以避免在每次运行时提取到临时文件

[MNG-6145] – 删除component.xml中不存在的m2

[MNG-6146] – 几个小的风格和拼写改进代码和文档

[MNG-6147] – MetadataResolutionResult#getGraph()包含重复的if子句

[MNG-6150] – 3.5.0的Javadoc改进

[MNG-6163] – 在shell启动脚本中引入CLASSWORLDS_JAR

[MNG-6165] – 废弃和替换拼写错误的公共API

[MNG-6179] – 删除未用的先决条件

[MNG-6185] – 将doclettag说明替换为AbstractMojo javadoc中的注释

[MNG-6189] – 假如maven-site-plugin配置包含reportPlugins元素,则为WARN

新功能

[MNG-3507] – ANSI颜色记录,可提高输出可视性

[MNG-5878]-在每个计算的URL(项目,SCM,站点)中增加对板块名称的支持!= artifactId:special.project.directory属性

[MNG-6093]-创立一个简单的slf4j的提供程序扩展,以支持颜色渲染[MNG-6182] – ModelResolver界面加强功能:增加了支持版本范围的resolveModel(Dependency)

任务

[MNG-5954]-删除过期的maven-embedder/src/main / resources / META-INF / MANIFEST.MF

[MNG-6106] – 从m2.conf中删除maven.home默认值设置器

[MNG-6136] – 将Maven Wagon从2.10更新到2.12

[MNG-6137] – 清除由不完整的Wagon HTTP Provider排除引起的重复依赖关系

[MNG-6138] – 删除过时的消息_ *。属性窗体maven-core

[MNG-6140] – 用解析器+解析器提供者+ slf4j提供程序升级文档的依赖图

[MNG-6152] – 增加一个Jenkins文件,以便builds.apache.org可以用多分支管道

后续

[MNG-2199] – 支持父元素中的版本范围

[MNG-6088] – 分叉执行成功后,增加一个空行

[MNG-6092] – 警告prerequisites.maven能否使用于非插件项目

根据Connolly的说法,下一个版本将如何命名,还要取决于升级内容,没准下一次出现在程序员眼前的就是3.6.0版本了。

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Apache家族又出喜事,Apache Maven升级啦!

发表回复