Maven-核心概念

     

开端

 终止一切重复的工作!任何一款产品的出现若是增加了用户的负担、降低了用户效率,则此产品需要重新定位。我们考虑这样的问题:一个庞大的项目, 数百人开发,怎样划分才能更好的利于协作,此时需要借助某种工具将这个庞大项目进行拆解,并且拆分的越小越好,最好是每一个模块对应着一个工程。但是接着出现的问题就是这么多项目工程会出现大量重复的jar包,不仅浪费存储空间,而且让项目变得比较臃肿,把这些公共需要的jar存放到一个地方,从此处引用,既然如此这就需要保证此处的jar是统一的,保证jar的正确性、可用性,需要制定一种规范的方式来获取jar包,从而保证提供给工程可靠的jar包。

    Maven解决诸多问题,其中Maven提出了仓库的概念,将jar包存入其中,并对外提供文件接口,而不必再将jar包拷贝进工程,仓库中按照一定的规则存放了所有知名框架或第三方工具的jar包,并且非常了解jar包之间的依赖关系,会将被依赖的相关jar包一并导入进去减少了程序员学习的时间成本。

概念

    What
   
    Maven(妹文)是一款主要服务于基于Java平台的项目构建,依赖管理和项目信息管理(java开发)。在ITOO新考试系统开发过程中,借用Maven自动化构建,从而使得清理,编译,测试到生成报告,再到打包部署不再认为操作,而且流畅的运行在Windows、Linux、Mac系统之上。工具演变发展:Make -> Ant -> Maven -> Gradle
    
   构建:其实也可以理解为生产,利用Java源文件、配置文件、JSP、HTML等原材料生产一个可运行的项目。Java源文件经过编译生成字节码文件.class,再交给JVM去执行。项目最终云翔的并不是动态Web工程本身,而是这个工程编译之后的结果。就像是我们要吃鸡,先得养大一只鸡,然后必须经过生产处理变成味道鲜美的熟鸡才能享用。

   构建环节:

  • 清理:将之前编译的到的字节码文件删除,为下一次编译做准备
  •  编译:将java源程序编程class字节码文件
  •  测试:自动测试,自动调用Junit程序
  •  报告: 测试程序执行的结果
  •  打包:动态Web工程打war包,Java工程打jar包
  •  安装:Maven特定的概念-将打包得到的文件复制到仓库中的指定位置
  • 部署:将动态Web工程生成的war包复制到Servlet容器的指定目录下,使其可以运行

   HOW安装Maven的核心程序
 ①检查JAVA_HOME环境变量
 
C:\User\zjc > echo%Java_Home%
D:\Program Files\Java\jdk1.8.0_60%

 ②解压Maven核心程序的压缩包,放在一个非中文的无空格路径下
 
D:\Program Files\apache-maven=3.3.2 

 ③配置Maven相关的环境变量


④验证:运行mvn -v 查看Maven版本

   Maven的核心概念
 
  1. 约定的目录结构
  2. POM
  3. 坐标
  1. 依赖
  1. 仓库
  2. 生命周期、插件、目标
  3. 继承
  4. 聚合

1.1创建约定的目录结构

               根目录:工程名

  • src目录:源码
  • Pom.xmlMaven工程的核心配置文件
  • main目录:存放主程序
  • Test目录:存放测试程序
  • java目录:存放java源文件
  • resources目录:存放框架或其他工具的配置文件


1.2为甚要遵守约定的目录结构

  • Maven   负责我们这个项目的自动化构建,以编译为例,Maven要想自动进行编译,那么他必须知道java源文件保存在哪里。

  • 如果我们自己自定义的东西要想让框架或工具知道,两种办法

    1.   已配置的方式明确告诉框架

    2.   遵守框架内部已经存在的约定

 

  • 约定大于配置 :   约定>配置>编码

 注意:

       ①执行与构建过程相关的Maven命令,必须进入pom.xml所在的目录。与构建相关:编译测试打包


     常用的命令:

Mvn clean清理

Mvn complie编译主程序

Mvn test-complie编译测试程序

Mvn test执行测试

Mvn package打包

Mvn install安装

Mvn site 生成站点


    ②

关于联网的问题:


  1. Maven的核心程序中仅仅定义了抽象的声明周期,但是具体的工作必粗由特定的插件来完成。而插件本身并不包含在Maven的核心程序中。

  2. 当我们执行的Maven命令粗要是使用到某些插件的时,Maven核心程序会手下 到本地仓库中查找。

  3. 本地仓库的默认位置:【系统中当前用户的家目录】\.m2/repository

  4.  Maven 在本地找不到需要的插件,那么会自动连外网,到中央仓库中下载

无法联网的话就构建失败


修改本地默认仓库的位置,可以让Maven核心程序到我们事先准备好的目录下进行查找需要的插件

步骤:

1.找到Maven解压目录\conf\setting.xml

2.在setting.xml 文件中找到localRepository标签

3.将<localRepository>/path/to/local/repo<localRepository>从注解中取出

4.将标签中内容修改为已经准备好的Maven 仓库目录




    
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值