MAVEN仓库和Nexus私服

  • 仓库

    • 仓库的类型

      • 本地(local)

        • Maven 的本地仓库,在安装 Maven 后并不会创建,它是在第一次执行 maven 命令的时候才被创建

      • 中央(central)

        • Maven 中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的库。

      • 远程(remote)

    • 依赖搜索顺序

  • 生命周期

    • 概念:

      • Maven的生命周期是对所有的构建过程进行抽象和统一

      • 生命周期只是定义了一系列的阶段,并确定这些阶段的执行顺序

    • Maven有三套相互独立的生命周期

      • Clean

        • 目的是清理项目

      • Default(build)

        • 目的是构建项目

      • site

        • 目的是建立项目站点

  • maven的继承与聚合

    • 继承就是避免重复,maven的继承也是这样,它还有一个好处就是让项目更加安全。把公共的配置信息写到父模块中,子模块只要继承了该父模块,也会继承父模块的配置信息

    • 可继承的pom元素

      • groupId :项目组 ID ,项目坐标的核心元素;

      • version :项目版本,项目坐标的核心元素;

      • properties :自定义的 Maven 属性;

      • dependencies :项目的依赖配置;

      • dependencyManagement :项目的依赖管理配置;

    • IDEA实现继承

      • 首先创建父类项目,然后在父类项目中,创建子类模块,如下图所示

      • 当我们创建完成后,会发先父类的pom中有子类模块的名字

        • 对应的,子类模块中也会有父类的坐标,且子类的个人坐标只有项目名称,如下所示

    • 继承的依赖管理

      • 父类直接引用依赖,如果在父类的dependencies内直接引用依赖,则子类都会继承该依赖

      • 父类通过dependencyManagement管理依赖,子类不会默认继承该依赖,但是当子类使用该依赖时无需考虑版本信息,直接继承父类dependencyManagement中设置的版本号(Version)

    • 聚合管理

      • 以上面得父子项目为例,当我们对parent进行mvn install时,会对core,manage和portal项目均进行install操作

    • properties属性的使用

      • 通过 properties元素用户可以定义一个或多个 maven 属性,然后在 maven 的其他地方使用 ${属性名称} 的方式引用该属性,这种做法的意义在于消除重复和统一管理。(例子如下)

  • 私服架构

    公司在自己的局域网内搭建自己的远程仓库服务器,称为私服, 私服服务器即是公司内部的 maven 远程仓库, 每个员工的电脑上安装 maven 软件并且连接私服服务器,员工将自己开发的项目打成 jar 并发布到私服服务器,其它项目组从私服服务器下载所依赖的构件(jar)。

    私服还充当一个代理服务器,当私服上没有 jar 包会从互联网中央仓库自动下载。

    • Nexus介绍

      • Nexus 是 Maven 仓库管理器, 通过 nexus 可以搭建 maven 仓库,同时 nexus 还提供强大的仓库管理功能,构件搜索功能等。

    • Nexus仓库类型

      • hosted,宿主仓库, 部署自己的 jar 到这个类型的仓库,包括 releases 和 snapshot 两部分, Releases 公司内部发布版本仓库、 Snapshots 公司内部测试版本仓库

      • proxy,代理仓库, 用于代理远程的公共仓库,如 maven 中央仓库,用户连接私服,私服自动去中央仓库下载 jar 包或者插件。

      • group,仓库组,用来合并多个 hosted/proxy 仓库,通常我们配置自己的 maven 连接仓库组。Group仓库组也是可以自己进行定制的。

      • virtual(虚拟):兼容 Maven1 版本的 jar 或者插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值