【阅读】《Maven实战》读后小结

《Maven实战》读后小结

Maven主要功能

  1. 统一并简化了项目构建过程:
    • compile, clean, test, package, install…等插件一键编译、测试、打包
  2. 统一公共Maven仓库
    • 避免去第三方网站下载,统一采用GAV形式引入外部依赖
    • 提供install, deploy插件部署项目到本地仓库,远程仓库

知识小结

依赖

  1. 依赖范围:maven在编译、测试、运行时有三套classpath,的作用即控制依赖与这三种classpath的关系

    scope classpath范围
    compile 编译、测试、运行三种classpath都有效
    test 测试classpath有效
    provided 编译、测试classpath有效
    runtime 测试、运行classpath有效
    system 与provided范围一致,但是必须使用<systemPath>显示指定依赖路径(非Maven仓库依赖,不推荐)
    import 不对三种classpath产生影响,用于引入dependencyManagement配置
  2. 依赖传递

    • 传递性依赖的依赖范围

      直接依赖\传递性依赖 compile test provided runtime
      compile complie - - runtime
      test test - - test
      provided provided - provided provided
      runtime runtime - - runtime
  3. 选项依赖: <option>

  4. 排除排除: <exclusion>

  5. 归类依赖:<properties> 指定version

仓库

  1. 构件artifact: 任何一个依赖,插件或者项目构建的输出,都可以称之为构件。

  2. 布局方式:任何一个构件都有其唯一坐标(GAV),根据这个坐标可以定义其在仓库内的唯一存储路径。

  3. 本地仓库 + 远程仓库:根据GAV寻找构件时,首先查找本地仓库,本地仓库没有则查找远程仓库,如果有则下载到本地仓库再使用

    • 远程仓库
      • 中央仓库:Maven默认的远程仓库
      • 私服:局域网内架设的私有服务器,用起代理所有外部远程仓库。内部项目可部署到私服上供其他项目使用,如公司内部仓库。
      • 其他公开远程库 / 镜像:如阿里巴巴

生命周期

Maven为大多数构建步骤编写并绑定了默认插件,例如,针对编译的maven-compiler-plugin、maven-dependency-plugin、maven-surefire-plugin

// 模拟生命周期的模版方法抽象(default)
public abstract class AbstractBuild {
   
  // 项目构建
	public void build(){
   
    initialize()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值