JavaWeb_Web——Maven

介绍:

        Maven是Apache公司发行的,一个Java项目管理和构建工具

作用:

        1.方便的依赖管理

        2.统一的项目结构

        3.标准的项目构建流程

模型:

        Maven通过项目对象模型(POM)和依赖管理模型(Dependency)管理依赖(jar包),如果新添加的依赖,那么Maven会先在本地仓库中(自己计算机上的一个目录)查找是否有该依赖,如果没有,那么会在远程仓库(私服)(一般由公司团队搭建的私有仓库)中查找,如果也没有,那么会到中央仓库(由Maven团队维护的,全球唯一的,基本包含全球发布的所有依赖。仓库地址:Central Repository: (maven.org))中查找,查找到又会逐个往回传输下载。

依赖管理:

依赖配置:

        如果引入的依赖,在本地仓库不存在,将会连接远程仓库/中央仓库,然后下载依赖。

        如果不知道依赖的坐标信息,可以到Maven Repository: Search/Browse/Explore (mvnrepository.com)中搜索。

依赖传递:

排除依赖代码:

<dependency>
            <groupId>com.han</groupId>
            <artifactId>maven-projectB</artifactId>
            <version>1.0-SNAPSHOT</version>
            <!--排除依赖-->
            <exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        排除依赖文件maven-projectB的其他依赖

依赖范围:

生命周期:

常见的生命周期阶段:

Maven高级:

分模块设计:

实践:

步骤:

继承与聚合:

继承:

        比如上图中三个子工程中都有lombok依赖配置,就可以创建一个父工程,在父工程中定义一次即可。

继承关系:
继承关系实现:

指定父工程的pom.xml文件路径:

<relativePath>../tlias-parent/pom.xml</relativePath>

        ../为往上跳一级。

        如果不指定relativePath,将从本地仓库或远程仓库查找该工程。

注意事项:

版本锁定:

        但是在父工程中定义很多依赖的版本号的话也不利于管理,这样就可以使用Maven的自定义属性/引用属性

自定义属性/引用属性:

★<dependencyManagement>和<dependencies>的区别:

        <dependencies>是直接依赖,在父工程中配置了依赖,子工程会继承下来

        <dependencyManagement>是统一管理依赖版本,不会直接依赖,还需要在子工程中引入所需依赖(无需指定版本)

聚合:

        在打包tlias-web-management文件时,会打包失败,因为在本地仓库中找不到依赖的另外两个文件tlias-pojo和tlias-utils的jar包。要完成打包操作,需要这两个包安装到本地仓库,即MAven生命周期中的install操作,还要父工程tlias-parent也需要install,才能打包,很麻烦,这时候就需要聚合

        一般情况下,父工程就满足集合工程的要求。

方法:

总结:

私服:

介绍:

资源上传及下载:

        version中不指定默认是RELEASE。

  • 13
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值