热门标签 | 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/

推荐阅读
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • PyCharm下载与安装指南
    本文详细介绍如何从官方渠道下载并安装PyCharm集成开发环境(IDE),涵盖Windows、macOS和Linux系统,同时提供详细的安装步骤及配置建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文详细介绍了 Dockerfile 的编写方法及其在网络配置中的应用,涵盖基础指令、镜像构建与发布流程,并深入探讨了 Docker 的默认网络、容器互联及自定义网络的实现。 ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • CentOS 7 磁盘与文件系统管理指南
    本文详细介绍了磁盘的基本结构、接口类型、分区管理以及文件系统格式化等内容,并提供了实际操作步骤,帮助读者更好地理解和掌握 CentOS 7 中的磁盘与文件系统管理。 ... [详细]
  • 本文详细记录了在基于Debian的Deepin 20操作系统上安装MySQL 5.7的具体步骤,包括软件包的选择、依赖项的处理及远程访问权限的配置。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • CentOS7源码编译安装MySQL5.6
    2019独角兽企业重金招聘Python工程师标准一、先在cmake官网下个最新的cmake源码包cmake官网:https:www.cmake.org如此时最新 ... [详细]
  • 本文深入探讨 MyBatis 中动态 SQL 的使用方法,包括 if/where、trim 自定义字符串截取规则、choose 分支选择、封装查询和修改条件的 where/set 标签、批量处理的 foreach 标签以及内置参数和 bind 的用法。 ... [详细]
  • 解决PHP与MySQL连接时出现500错误的方法
    本文详细探讨了当使用PHP连接MySQL数据库时遇到500内部服务器错误的多种解决方案,提供了详尽的操作步骤和专业建议。无论是初学者还是有经验的开发者,都能从中受益。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
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社区 版权所有