您的位置:首页 > 其它

Maven-核心概念

2018-01-28 08:18 309 查看
    

开端

 终止一切重复的工作!任何一款产品的出现若是增加了用户的负担、降低了用户效率,则此产品需要重新定位。我们考虑这样的问题:一个庞大的项目, 数百人开发,怎样划分才能更好的利于协作,此时需要借助某种工具将这个庞大项目进行拆解,并且拆分的越小越好,最好是每一个模块对应着一个工程。但是接着出现的问题就是这么多项目工程会出现大量重复的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的核心概念
 

约定的目录结构

POM
坐标

依赖
仓库
生命周期、插件、目标
继承
聚合
1.1创建约定的目录结构
               根目录:工程名
src目录:源码
Pom.xml:Maven工程的核心配置文件
main目录:存放主程序
Test目录:存放测试程序
java目录:存放java源文件
resources目录:存放框架或其他工具的配置文件



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

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

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



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

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

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

     常用的命令:
Mvn clean清理
Mvn complie编译主程序
Mvn test-complie编译测试程序
Mvn test执行测试
Mvn package打包
Mvn install安装
Mvn site 生成站点

    ②
关于联网的问题:

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

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

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

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

无法联网的话就构建失败

修改本地默认仓库的位置,可以让Maven核心程序到我们事先准备好的目录下进行查找需要的插件
步骤:
1.找到Maven解压目录\conf\setting.xml
2.在setting.xml 文件中找到localRepository标签
3.将<localRepository>/path/to/local/repo<localRepository>从注解中取出
4.将标签中内容修改为已经准备好的Maven 仓库目录

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: