项目管理软件—Maven基本概念

1、maven是什么?

    maven是一款服务于Java平台的项目管理软件,换一句话说,是一款自动化构建工具,那什么又是自动化构建呢,使用一些命令可以自动的根据Java源文件、JSP、HTML、图片等资源为原材料去生成一个可以运行的项目的过程。

2、引入maven的目的

    没有引入maven之前,传统的开发项目过程中遇到的问题:    

         a)一个项目就是一个工程,一般使用package来划分模块;

         b)工程中需要的Jar包必须手动添加到lib目录中并且其依赖的Jar也需要手动加入

    引入maven之后:

         a)每个项目中的模块可以为一个工程,可以是用maven中的聚合功能将各模块聚合成一个项目;

         b)每个工程所需要的Jar包只需要根据Jar包在本地仓库、私服、中央仓库的坐标来引入即可,不要手动加入Jar和其依赖的Jar包 

3、maven自动化构建的主要环节

     1、clean:删除以前编译好的结果,为重新编译做好准备

     2、compile:将java源程序编译为字节码文件

     3、test-compile:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性

     4、test:在每次测试后以标准的格式记录和展示测试结果

     5、package:将maven工程打包成war或者jar包

     6、install:maven特定的概念,将打包的文件复制到本次仓库中

     7、deploy:将动态的war工程生成的war包复制到servlet容器的指定目录下,使其可以运行

4、maven的常用命令

    1、mvn clean

    2、mvn compile

    3、mvn test-compile

    4、mvn test

    5、mvn package

    6、mvn install

    7、mvn site

5、mvn中的核心概念

    POM:project object model

        pom.xml是maven工程的核心配置文件,与构建过程相关的一切设置都在这个文件进行配置

    坐标:表示依赖的对象在仓库中的位置

        <groupid> xxx</groupid>

        <artifactid>yyy</artifactid>

        < version>zzz< /version>

    仓库:存放maven内容的地方

        内容:

             1、maven自身所需要的插件

             2、第三方工具框架的jar包

             3、我们自己开发的maven工程

        类型:

            1、本地仓库:存在自己的电脑中

            2、远程仓库:

                a、私服:公司搭建的局域网范围的

                b、中央仓库:架设在互联网上,为全世界的maven工程服务

                c、中央仓库镜像:架设在各个大洲,为分担流量。减轻中央仓库的压力

    依赖

        maven工程会根据pom.xml中的配置的依赖去仓库中引用所需要的jar包,对于我们自己开发的maven工程,使用mvn install 命令就可以进入本地仓库

         依赖的分为:compile、test、runtime、provided

         依赖具有传递性

         依赖的原则:

                    路径最短优先原则

                    路径相同先声明的优先

    生命周期

        各个构建环节的执行顺序,不能随意打乱顺序,必须按照既定的正确顺序执行;

        maven核心程序中定义了抽象的生命周期,生命周期中的各个阶段的具体任务由maven的插件完成

    插件和目标

        maven的核心仅仅定义了抽象的生命周期,具体任务由插件完成;

        每个插件都能实现多个功能,每个功能就是一个目标;

        maven的生命周期与插件目标相互绑定,以完成某个具体任务

    继承

        由于非 compile 范围的依赖信息是不能依赖链中传递的,所以有所以有需要的工程只能单独配置。此时如果引入父工程,付工程配置其他工程所需要的jar包等内容,然后其他工程再继承自父工程。

    聚合
        为什么 要使用聚合?将多个工程拆分为模块后,需要手动逐个安装到仓库后依赖才能够生效。修改源码后也需要逐个手动进行clean操作。而使用了聚合之后就可以批量进行 Maven工程的安装、清理工作。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值