Maven总结(黑马程序员课程)

maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型POM(Project Object Modle)

maven的作用:
    1、项目构建:提供标准的,跨平台的自动化项目管理构建方式
    2、依赖管理:方便快捷的管理项目依赖的资源jar包,可以统一控制版本
    3、统一开发结构:提供标准的,统一的项目结构

maven基础概念:
    仓库:用于存储资源,包含各种jar包。仓库分为本地仓库和远程仓库
    坐标:Maven中坐标用于描述仓库中资源的位置
        groupId:定义当前maven项目的隶属组织名称(通常是指包名)
        artifactId:定义当前maven项目的名称 (通常是指模块名称)
        version:定义当前资源的版本好
        packaging:定义当前项目的打包方式(默认方式为打jar包)
    坐标作用:使用唯一的标识,通过改标识可以下载对应的资源

依赖传递:
    依赖传递的冲突问题:
        路径优先:当依赖中出现相同资源时,层级越深,优先级越高
        声明优先:当资源在同层级被依赖时,后配置的覆盖前面配置的

分模块开发与设计:
    将一个项目分成多个maven项目模块,由主模块统一管理

聚合:
    作用:聚合用于快速构建maven项目工程,一次性管理多个模块。
    方法:新建一个maven模块,只留下pom文件,在pom文件里面将其打包类型设置为pom。
    如何由主模块去管理其他所有模块:
      

  <modules>
            <module>模块名(地址)</module>
            <module>模块名(地址)</module>
            <module>模块名(地址)</module>
  </modules>


    注意:参与聚合操作的模块最终执行的先后顺序与模块间的依赖关系有关,与配置顺序无关

继承:
    作用:通过继承可以是在在子模块(工程)中使用父模块中的依赖配置(与Java继承类似)
    方法:在父模块中加入需要被被子模块继承的依赖:<dependencyManagement>在这中间添加依赖</dependencyManagement>
        然后在子模块的pom文件中配置:
       

<parent>
       <groupId></groupId>
       <artifactId></artifactId>
       <version></version>
       //前面三个与父模块中的坐标相同
       <relativePath>父模块的pom文件的地址</relativePath>
</parent>


    
属性:
    1、自定义属性:
        作用:等同于Java中的变量,方便统一管理重复代码(例如:多个依赖的版本号一致时,当需要全部改变时则只需要修改变量)
        定义格式:
          

 <properties>
           <(变量名)spring.version> (5.1.9.RELEASE)变量值  </(变量名)spring.version>
           <(变量名)junit.version> (4.12)变量值   </(变量名)junit.versio 
 </properties>


        调用格式:${变量名}    
    
    2、内置属性:
        作用:使用maven的内置属性,快速配置
        调用格式:${version}  ${basedir}等

    3、Setting属性:
        作用:使用maven配置文件setting.xml中的标签属性,用于动态配置
        调用格式:${settings.localRepository}

    4、Java系统属性:
        作用:读取Java系统属性
        调用格式:${user.home}
    
    5、环境变量属性:
        作用:读取环境变量属性
        调用格式:${env.JAVA_HOME}
    

资源配置:
    配置资源文件:
        

        <!--配置资源文件对应的信息-->
        <resources>
              <resource>
                    <!--设定配置文件对应的位置目录,支持使用属性动态设定路径-->
                    <directory>地址</directory>
                    <!--开启对配置文件的资源加载过滤-->
                    <filtering>true</filtering>
              </resource>
        </resources>


多环境开发配置:
    

 <!--创建多环境-->
    <profiles>
          <!--定义具体的环境:生产环境-->
          <profile>
                    <!--定义环境对应的唯一名称-->
                   <id>开发环境名称1</id>

                    <!--定义环境中的专用的属性值-->
                   <properties>
                      <jdbc.url>jdbc链接</jdbc.url>
                   </properties>

                   <activation>
                      <activeByDefault>true</activeByDefault>
                   </activation>
          </profile>
              <!--定义具体的环境:开发环境-->
    </profiles>

ps:笔记部分来源:黑马程序员 & @哈瑞斯联邦
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Janice0721

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值