`

maven3实战之安装目录分析

阅读更多

maven3实战之安装目录分析

----------

 

1.M2_HOME

前面讲到设置M2_HOME环境变量指向maven的安装目录,本书之后所有使用M2_HOME的地方都指代了该安装目录。下面看一下该目录的结构和内容:

bin

boot

conf

lib

LICENSE.txt

NOTICE.txt

README.txt

 

bin目录:

该目录包含了mvn运行的脚本,这些脚本用来配置java命令,准备好classpath和相关的java系统属性,然后执行java命令。其中mvn是基于UNIX平台的shell脚本,mvn.bat是基于windows平台的bat脚本。在命令行输入任何一条mvn命令时,实际上就是在调用这些脚本。该目录还包含了mvnDebug和mvnDebug.bat两个文件,同样,前者是UNIX平台的脚本,后者是windows平台的脚本。那么mvn和mvnDebug有什么区别和关系呢?打开文件我们就可以看到,两者基本是一样的,只是mvnDebug多了一条MAVEN_DEBUG_OPTS配置,其作用就是在运行Maven时开启debug,以便调试Maven本身。此外,该目录还包含m2.conf文件,这是classworlds的配置文件,后面会介绍classworlds。

 

boot目录:

该目录只包含一个文件,以maven3为例,该文件为plexus-classworlds-xxx.jar。plexus-classworlds是一个类加载器框架,相对于默认的java类加载器,它提供了更丰富的语法以方便配置,maven使用该框架加载自己的类库。

 

conf目录:

该目录包含了一个非常重要的文件settings.xml。直接修改该文件,就能在机器上全局地定制maven的行为。一般情况下,我们更偏向于复制该文件至~/.m2/目录下(~表示用户目录),然后修改该文件,在用户范围定制maven的行为。后面将会多次提到settings.xml,并分析其中的各个元素。 

 

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等。对于maven2来说,该目录只包含一个如maven-2.2.1-uber.jar的文件,原本各为独立jar文件的maven模块和第三方类库都被拆解后重新合并到了这个jar文件中。可以说,lib目录就是真正的maven。

---

2.~/.m2

在用户目录下可以发现.m2文件夹。默认情况下,该文件夹下放置了maven本地仓库.m2/repository。所有的maven构件都被存储到该仓库中,以方便重用。默认情况下,~/.m2目录下除了repository仓库之外就没有其他目录和文件了,不过大多数maven用户需要复制M2_HOME/conf/settings.xml文件到~/.m2/settings.xml,以便定制。

分享到:
评论

相关推荐

    Maven实战 安装配置

    第2章 Maven的安装和配置7.2.1 在Windows上安装Maven8.2.2 在基于Unix的系统上安装Maven9.2.3 安装目录分析10.2.4 设置HTTP代理11.2.5 安装m2eclipse12.2.6 安装NetBeans Maven插件13.2.7 Maven安装最佳实践14.2.8 ...

    Maven实战- 入门

    2.3 安装目录分析 10. 2.4 设置 HTTP 代理 11. 2.5 安装 m2eclipse 12. 2.6 安装 NetBeans Maven 插件 13. 2.7 Maven 安装最佳实践 14. 2.8 小结 15. 第 3 章 Maven 使用入门 16. 3.1 编写 POM 17. 3.2 编写主代码 ...

    Maven3实战笔记02项目需求和模块分析

    Maven3实战笔记02——项目需求和模块分析。

    Maven实战(高清版)

    maven的安装和配置2.1 在windows上安装maven2.1.1 检查jdk安装2.1.2 下载maven2.1.3 本地安装2.1.4 升级maven2.2 在基于unix的系统上安装maven2.2.1 下载和安装2.2.2 升级maven2.3 安装目录分析2.3.1 m2_...

    Maven实战.pdf

    Maven实战(高清完整带书签)

    maven权威指南

    第 I 部分 “Maven实战” 开发一些实际的例子,并一步步分析这些 例子的结构,同时循循善诱,详细解释,以此来解释Maven。如果你是Maven新手,应该 从第 I 部分 “Maven实战” 开始阅读。第 II 部分 “Maven参考” ...

    maven3教程(私塾在线)视频配套学习资料

    Maven3的学习教程资料,由Java私塾制作,配套视频由私塾在线提供. 1、为什么要使用maven,复习项目构建的概念,导入jar包的复杂性 2、在非ide的环境下使用...这是这次学习的重中之重,其中的添加依赖时的分析堪称经典

    maven2权威指南

    第 I 部分 “Maven实战”开发一些实际的例子,并一步步分析这些 例子的结构,同时循循善诱,详细解释,以此来解释Maven。如果你是Maven新手,应该 从第 I 部分 “Maven实战”开始阅读。第 II 部分 “Maven参考”更多...

    Maven权威指南 很精典的学习教程,比ANT更好用

    Maven实战 3. 一个简单的Maven项目 3.1. 简介 3.1.1. 下载本章的例子 3.2. 创建一个简单的项目 3.3. 构建一个简单的项目 3.4. 简单的项目对象模型 (Project Object Model) 3.5. 核心概念 3.5.1. Maven...

    这个一个SSM+shiro+maven+bootstrap的项目实战,经典的图书管理系统。.zip

    进阶技术与案例分析:针对进阶开发者,提供深入的技术探讨和案例分析,助您深入理解SSM的高级特性。 实战项目与经验分享:通过实际项目实战,让您在实践中掌握SSM的运用,同时分享经验与心得,让您少走弯路。 三、...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 Spring 项目的搭建 9 1.3 Spring 基础配置 17 1.3.1 依赖注入 18 1.3.2 Java 配置 21 1.3.3 AOP 24 第2 章 Spring 常用配置 30 2.1 Bean 的Scope 30 2.1.1 点睛 ...

    全新JAVAEE大神完美就业实战课程 超150G巨制课程轻松实战JAVAEE课程 就业部分.txt

    Maven_day01._Maven安装.Maven整合SSH Maven_day02.Maven整合SSH.私服安装配置 12-SSH企业案例2_ERP_项目整合(学习15天) ERP_day01_ERP简介,软件设局.环境搭建.部门管理列表查询 ERP_day02_Dep部门表的_条件...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 Spring 项目的搭建 9 1.3 Spring 基础配置 17 1.3.1 依赖注入 18 1.3.2 Java 配置 21 1.3.3 AOP 24 第2 章 Spring 常用配置 30 2.1 Bean 的Scope 30 2.1.1 点睛 ...

    Maven-maven多模块项目搭建+SSM框架整合.zip

    进阶技术与案例分析:针对进阶开发者,提供深入的技术探讨和案例分析,助您深入理解SSM的高级特性。 实战项目与经验分享:通过实际项目实战,让您在实践中掌握SSM的运用,同时分享经验与心得,让您少走弯路。 三、...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    1.2.2 Maven 安装 6 1.2.3 Maven 的pom.xml 7 1.2.4 Spring 项目的搭建 9 1.3 Spring 基础配置 17 1.3.1 依赖注入 18 1.3.2 Java 配置 21 1.3.3 AOP 24 第2 章 Spring 常用配置 30 2.1 Bean 的Scope 30 2.1.1 点睛 ...

    基于JSP+SSM的水果销售管理网站项目实战(源码+说明).zip

    基于JSP+SSM的水果销售管理网站项目实战(源码+说明).zip 【项目技术】 开发语言:Java 框架:ssm 架构:B/S 数据库:mysql Maven包:Maven3.3.9 【实现功能】 1.管理员;主页、个人中心、用户管理、水果信息管理、...

    基于springboot的居民消费指数分析系统源码+详细数据库(毕业设计).zip

    基于springboot的居民消费指数分析系统源码+详细数据库(毕业设计).zip 代码完整下载即用无需修改确保可以运行,也可作为期末大作业、课程设计和适合需要java实战的学习者。 开发环境 语言:Java 8 IDE: IDEA ...

    基于SpingBoot+SpringCloud+Maven+Eureka+Vue的分布式架构网上商城系统源码+数据库.zip

    本项目是一套基于SpringCloud的分布式架构网上商城系统,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的Java学习者。也可作为课程设计、期末大作业 包含:项目源码、数据库脚本、开发说明文档、LW、...

    SSM框架实现面向小微企业的简历管理系统企业简历管理系统(分前后台spring+springmvc+mybatis+maven)

    本项目是一套基于SSM框架实现面向小微企业的简历管理系统企业简历管理系统,主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的Java学习者。 包含:项目源码、数据库脚本等,该项目附带全部源码可作为...

Global site tag (gtag.js) - Google Analytics