热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

深入解析ApacheMaven3.5.0版本特性与优化

ApacheMaven3.5.0版本的发布带来了多项重要特性和性能优化。该版本不仅改进了构建过程的效率,还增强了对复杂项目结构的支持。通过引入新的依赖解析机制和优化的插件系统,Maven3.5.0在提升用户体验的同时,也确保了更高的稳定性和兼容性。此外,该版本还修复了多个已知问题,进一步提升了整体的可靠性和安全性。

Apache Maven 3.5.0版详述
  • 版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。

Apache Maven 3.5.0版发布了,距离3.3.9版发布已经半年多过去了。为什么跳过了3.4版本号,原因是Eclipse Aether项目已经停用,代码库迁移到Apache Maven项目中。而Maven 3.4版的原始目标是在Maven项目中使用完全相同的代码替换掉Aether(现在是Maven Resolver),然后对解析器代码以及其它模块进行Bug修复。但这个迁移工作花费的时间远超预期,以及新功能特性需要合并到版本中,因此跳过3.4版。
这里写图片描述

一、3.5版值得注意的点


  • 最显著的改变是控制台的输出支持彩色
  • JAVA_HOME环境变量的检查做了缩减,只简单检查这个环境变量是否存在,如果不存在则使用“which java”查看一下
  • 构建脚本不再支持Apache Ant
  • M2_HOME环境变量的用法也取消了,不再提供支持
  • 对Windows系统的用户,%HOME%的使用变更为%USERPROFILE%
  • 修复了3.3.9版存在的当依赖200~300个以上的模块时,可能会导致内存异常或需要增加内存设置的Bug
  • 创建了一个slf4j-simple的privider扩展,以支持对不同日志级别的输出显示不同颜色

二、下载

下载地址:http://maven.apache.org/download.cgi

Maven的安装:

unzip apache-maven-3.5.0-bin.zip

tar xzvf apache-maven-3.5.0-bin.tar.gz

然后把Maven的解压缩目录下的bin子目录添加到PATH环境变量中即可。

三、Maven的配置

Apache Maven的配置有几个要点,具体如下。

  • MAVEN_OPTS环境变量:它指定了运行Maven所需的JVM参数,比如-Xms256m -Xmx512m
  • settings.xml配置文件:Maven本身的各种配置都在这里设置
  • .mvn目录:位于项目的根目录下,里面包含了maven.config和extensions.xml文件,运行Maven项目的特定配置

四、Maven仓库服务器

使用Maven仓库服务器有以下优点和功能:

  • 大大减少了从远程Maven仓库下载依赖的数量,节省了时间和带宽,从而提高了构建性能
  • 由于减少对外部仓库的依赖,提高了构建的稳定性
  • 提高了与远程SNAPSHOT存储库交互的性能
  • 提供了一个有效的平台,用于在组织内外交换二进制文件,而无需从源代码构建工件

可用的开源仓库服务器


  • Apache Archiva: https://archiva.apache.org/
  • JFrog Artifactory Open Source: https://www.jfrog.com/open-source
  • Sonatype Nexux OSS: https://www.sonatype.org/nexus/go/

推荐阅读
  • 本文详细介绍了如何准备和安装 Eclipse 开发环境及其相关插件,包括 JDK、Tomcat、Struts 等组件的安装步骤及配置方法。 ... [详细]
  • golang常用库:配置文件解析库/管理工具viper使用
    golang常用库:配置文件解析库管理工具-viper使用-一、viper简介viper配置管理解析库,是由大神SteveFrancia开发,他在google领导着golang的 ... [详细]
  • 从 .NET 转 Java 的自学之路:IO 流基础篇
    本文详细介绍了 Java 中的 IO 流,包括字节流和字符流的基本概念及其操作方式。探讨了如何处理不同类型的文件数据,并结合编码机制确保字符数据的正确读写。同时,文中还涵盖了装饰设计模式的应用,以及多种常见的 IO 操作实例。 ... [详细]
  • 使用Python在SAE上开发新浪微博应用的初步探索
    最近重新审视了新浪云平台(SAE)提供的服务,发现其已支持Python开发。本文将详细介绍如何利用Django框架构建一个简单的新浪微博应用,并分享开发过程中的关键步骤。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 深入解析Java虚拟机(JVM)架构与原理
    本文旨在为读者提供对Java虚拟机(JVM)的全面理解,涵盖其主要组成部分、工作原理及其在不同平台上的实现。通过详细探讨JVM的结构和内部机制,帮助开发者更好地掌握Java编程的核心技术。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • DNN Community 和 Professional 版本的主要差异
    本文详细解析了 DotNetNuke (DNN) 的两种主要版本:Community 和 Professional。通过对比两者的功能和附加组件,帮助用户选择最适合其需求的版本。 ... [详细]
  • 本文深入探讨了 Java 编程语言的基础,特别是其跨平台特性和 JVM 的工作原理。通过介绍 Java 的发展历史和生态系统,帮助初学者理解如何编写并运行第一个 Java 程序。 ... [详细]
  • 并发编程:深入理解设计原理与优化
    本文探讨了并发编程中的关键设计原则,特别是Java内存模型(JMM)的happens-before规则及其对多线程编程的影响。文章详细介绍了DCL双重检查锁定模式的问题及解决方案,并总结了不同处理器和内存模型之间的关系,旨在为程序员提供更深入的理解和最佳实践。 ... [详细]
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
author-avatar
凌亂的回譩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有