Maven安装目录的详解
Maven 作为一款优秀的构建工具、依赖管理工具和项目管理工具,已经被业界广泛应用,我们可以利用 Maven 对项目进行清理、测试、构建、打包、部署等操作。因此,对于maven,从安装其开始,一步一步认识走进maven,首先以 Maven 的安装目录,进行解读。
正文
从 Apache Maven 官网下载 Maven 的安装包并解压之后,进入安装目录,我们会看到如下内容:
- bin
- boot
- conf
- lib
- LICENSE.txt
- NOTICE.txt
- README.txt
接下来,分别解读以上目录的内容及功能:
第 1 个:bin
该目录包含了mvn运行的脚本,分别为mvn、mvn.bat、mvnDebug、mvnDebug.bat和m2.conf,这些脚本用来配置 Java 命令,准备 CLASSPATH 和相关的 Java 系统属性,然后执行 Java 命令。其中,mvn是基于 UNIX 平台的shell脚本,mvn.bat是基于 Windows 平台的bat脚本;同理,mvnDebug是基于 UNIX 平台的shell脚本,mvnDebug.bat是基于 Windows 平台的bat脚本。在命令行输入任何一条mvn命令时,实际上就是调用这些脚本。而mvn和mvnDebug的区别就在于后者比前者多了一条MAVEN_DEBUG_OPTS配置,其作用就是在运行 Maven 时开启debug,以便调试 Maven 本身。此外,m2.conf是classworlds的配置文件。
第 2 个:boot
该目录只包含一个文件,以maven 3.0为例,该文件为plexus-classworlds-2.2.3.jar。plexus-classworlds是一个类加载器框架,相对于默认的 Java 类加载器,它提供了更丰富的语法以方便配置,Maven 使用该框架加载自己的类库。
第 3 个:conf
该目录包含了要给非常重要的文件settings.xml。直接修改该文件,就能再机器上全局地定制 Maven 的行为。一般情况下,我们更偏向于复制该文件至~/.m2/目录下(~表示用户目录),然后修改该文件,在用户范围定制 Maven 的行为。
第 4 个:lib
该目录包含了所有 Maven 运行时需要的 Java 类库,Maven 本身是分模块开发的,因此用户能看到诸如maven-core-3.0.jar和maven-model-3.0.jar之类的文件。此外,这里还包含一些 Maven 用到的第三方依赖,如common-cli-1.2.jar和google-collection-1.0.jar等。对于 Maven 2 来说,该目录只包含一个如maven-2.2.1-uber.jar的文件,原本各为独立的 JAR 文件的 Maven 模块和第三方类库都被拆解后重新合并到了这个 JAR 文件中。可以说,lib目录就是真正的 Maven。还有一点值得一提的是,用户可以在这个目录中找到 Maven 内置的超级 POM。
第 5 个:LICENSE.txt
该文件记录了 Maven 使用的软件许可证 Apache License Version 2.0。
第 6 个:NOTICE.txt
该文件记录了 Maven 包含的第三方软件。
第 7 个:README.txt
Maven安装目录的详解相关推荐
- Maven 安装和使用详解详解(windows 环境)
目录 1.maven 安装步骤 (1)从 Apache 官网下载 maven 压缩包 (2)解压 maven 压缩包,即可使用 (3)配置 maven 环境变量,方便全局使用 (3)检测是否安装配置成 ...
- Maven安装与配置详解、多镜像节点的配置
下载 Maven是Apache下面的一个项目,官网下载地址: https://maven.apache.org/download.cgi 历史版本下载地址: https://archive.apach ...
- 【Python】Python2.7.15 - Windows安装Python以及Python安装目录结构详解
文章目录 Python 2.7.15安装 下载安装程序 启动安装程序 指定安装目录 安装选项 启用环境变量 高级选项 安装完毕 安装成功验证 检查Windows环境变量 确认Python版本 探索Py ...
- 【Python】Python3.7.3 - Windows安装Python以及Python安装目录结构详解
文章目录 Python 3.7.3安装 安装程序下载 启动安装程序 定制安装 设置安装目录 安装完毕 验证安装成功 检查Windows环境变量 确认Python版本 探索Python的安装目录 安装目 ...
- Maven安装与配置详解(Win10)
https://blog.csdn.net/qq_37904780/article/details/81216179 转载于:https://www.cnblogs.com/zquan/p/99514 ...
- mysql的源码解读(1):mysql的目录结构详解
一.mysql的简介 二.mysql的编译包安装目录结构详解 1)编译包解压之后的目录结构 mysql-5.6.39├── bin # 存放的是服务器和客户端的程序(命令)├── COPYING # ...
- Maven中pom文件详解
在IDE中使用Maven IDE工具 MyEclipse 集成maven插件 Eclipse Eclipse For Java EE IDEA 集成Maven插件 在IDE中 配置Maven 指定 ...
- maven的settings配置文件详解
目录 一,概述 1.settings.xml的作用 2.settings.xml的文件位置 3.配置的优先级 二.settings.xml元素详解 1.顶级元素概览 1.1.LocalReposito ...
- Android 8.0学习(32)---Android 8.0源码目录结构详解
Android 8.0源码目录结构详解 android的移植按如下流程: (1)android linux 内核的普通驱动移植,让内核可以在目标平台上运行起来. (2)正确挂载文件系统 ...
最新文章
- HarmonyOS Text超出部分末尾显示...
- 数学知识--Methods for Non-Linear Least Squares Problems(第一章)
- 每天一道LeetCode-----二叉搜索树的某两个节点被交换位置,修正这个二叉搜索树
- [jQuery] jQuery.fn的init方法返回的this指的是什么对象?为什么要返回this
- 基于visual Studio2013解决C语言竞赛题之1012连接字符串
- 【Flink】The class WC is an instance class, meaning it is not a member of a toplevel object
- codeforce #164 div2
- 2018年内蒙古孕产妇、婴儿死亡率实现双下降
- 模组厂商对话 MTK:智能音箱市场谈红海还早,下一个爆品将诞生丨WARE 2018
- 互联网大厂知识点整理
- 关键词作用和选择技巧
- 计算机表格数据怎么样汇总,Excel 中如何汇总相同结构的多个工作表数据
- err = Problems with launching via XPC. XPC error : Connection interrupted (0x00000005)
- 天翼云荣获2022年度“边缘计算先锋企业”“分布式云先锋企业”称号!
- iOS逆向-手把手教你写支付宝蚂蚁森林收集能量助手
- 现在开发人员都开始做测试了,是不是以后就没有软件测试人员了?
- 12 年前我刷了 500 道,谈谈我的学习感受
- JVM之垃圾回收-相关名词解释
- 图灵奖得主John Hennessy、David Patterson 访谈:未来小学生都能做机器学习
- 那些你可能不知道的搜索奇技淫巧