maven:简单使用

0.maven目录

在这里插入图片描述

1.maven

①maven的作用

  • 对jar包的管理,解决jar包的相互依赖
  • 脱离ide环境
  • 有约定的目录结构

②maven可以对项目进行打包

  • jar包的打包(java工程)
    主体部分:jar包中有(main)
    测试部分:jar包中无(test测试成功才能打包成功)
  • war包的打包(web的工程)
    测试:
    打包好war包后,然后把war包放入tomcat中的webapps,启动tomcat之后可以直接访问war包

2.maven的依赖

①文件目录

  • src:main,test
  • target:打包的文件
  • pom.xml:配置文件

②依赖范围(scope的范文)

  • 即以scope范围引入的依赖,能否在main目录下,test目录下是否起作用,且部署到服务器时是否带着该依赖的包
  • compile:main,test,部署到服务器
  • test:test
  • provided:main,test
  • 各自的作用
    test只是当地的测试
    provided当地使用jar包,但是部署服务器时容易与服务器包冲突,即使用provided
    compile主模块使用的jar包

③依赖传递和依赖排除

依赖传递

  • a依赖b依赖c ,a能否直接依赖c
  • 如果b依赖c是以compile依赖,则a可用c
  • 如果b依赖c是以test和provided依赖,则a不可用c

依赖排除

  • a依赖bc,bc依赖d的不同版本,a只能选择一个版本否则容易冲突
  • 此时a依赖b时选择不依赖b的d
  • 在a配置依赖b时加入exclusion排除d

3.maven的继承

①继承的概念(管理依赖的版本)

  • a工程继承b工程,即a的pom文件继承b的pom文件

②继承的注意事项

  • 父工程的pom文件
    打包方式需要为pom
    packaging标签为pom即为父工程
  • 子工程里的pom文件
    父工程里建模块工程(子工程)
    子工程里的pom文件会有父工程的坐标
  • 父工程管理依赖
    dependencyManagerment标签管理
    可以配置依赖的版本

③继承的实际影响

  • 父工程配置了版本,子工程里只需使用具体的依赖不需要声明版本
    若父工程已有,而子工程没有,则子工程采纳父工程版本号
    若父工程已有,子工程也有且版本号相同,则子工程采纳版本号
    若父工程已有,子工程也有且版本号不同,则子工程的版本号覆盖父工程(不推荐,一般需要遵从父工程的依赖)

④实际开发的作用

  • 父工程修改依赖版本,子工程中各个生效
  • 父工程可以使用自定义标签统一管理很多依赖的版本
    mytest:4.1.0 (自定义标签)
    version:$:{mytest}(属性表达式)
  • 实际模块使用时
    公司级父工程-项目级父工程-模块(模块中只需拿出父工程已有的依赖即可)

4.聚合(聚合工程一般也为父子工程)

  • 聚合的作用:聚合工程将所有的模块工程汇集起来。聚合可以一键安装。

5.maven其他重要知识点

  • maven的生命周期
    因为我们从maven的中间环节启动,需要自动执行其前面的所有环节
    例如:执行instal
    会执行 compile test package
  • maven的插件和目标
    maven的核心程序是宏观调度,其他操作都是由插件来执行的
    例如:compile 由 maven-compilier jar插件来执行的
    目标是指插件的某个功能
  • 仓库:本地仓库(当前电脑)
    远程仓库:maven私服(局域网上的nexus)
    远程仓库(联网下载)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值