《Apache家族又出喜事,Apache Maven更新啦!》要点:
本文介绍了Apache家族又出喜事,Apache Maven更新啦!,希望对您有用。如果有疑问,可以联系我们。
《Apache家族又出喜事,Apache Maven更新啦!》是否对您有启发,欢迎查看更多与《Apache家族又出喜事,Apache Maven更新啦!》相关教程,学精学透。维易PHP学院为您提供精彩教程。
Apache家族一直备受程序员的关注,继Apache Maven 3.3.9之后,直接跳到3.5.0,至于3.4.0,程序员怕是看不到了,不过也没什么关系,功能够强大就足以!来看看是哪些新功能足以让3.4.0系列直接消失.
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版本了.