为了账号安全,请及时绑定邮箱和手机立即绑定

项目管理利器——maven

难度初级
时长 2小时 1分
学习人数
综合评分9.60
486人评价 查看评价
9.8 内容实用
9.6 简洁易懂
9.4 逻辑清晰
  • groupID artifactId version构成坐标

    构件:任何一个依赖、插件、项目构建的输出,都可以称为构建

    仓库

        本地仓库

        远程仓库:默认中央仓库

        镜像仓库:它提供了和中央仓库一样的功能,maven的中央仓库的服务器是国外的,所以使用镜像仓库访问资源更稳定一些。

    修改镜像仓库的位置:apache-maven——>conf——>setting.xml中mirror,配置了镜像仓库,就不会再访问中央仓库。

    更改仓库位置:maven从远程仓库下载构件,默认存放在当前用户目录中,可以更改位置。,一般不会把仓库放在C盘目录中,如果遇到一些问题这个数据可能就没了。仓库路径修改settings.xml中的localRepository标签。将修改后的settings.xml复制一份到更改后的位置,然后执行。可用mvn clean compile将原本的删除在新的地方重建

    查看全部
  • 创建maven目录的两种方式:http://img1.sycdn.imooc.com//5d7a512a0001948610180210.jpg

    查看全部
  • maven常用的构建命令:

    mvn -v  查看maven版本

            compile 编译

            test 测试

            package 打包

            clean 删除编译后产生的target

            install 安装jar包到本地仓库中

    查看全部
  • maven目录结构:

    src

        -main

                -java

                -package

        -test

              -java

                        -package

        -resources



    查看全部
  • 排除依赖 exclusions

    查看全部
    0 采集 收起 来源:maven依赖传递

    2019-09-12

  • 被继承的要先打包package,再install到本地仓库,继承的工程才能去编译

    A项目--->引用B项目---->引用C项目

    A项目的maven依赖包中会有B和C

    B项目的maven依赖包中会有C

    查看全部
    0 采集 收起 来源:maven依赖传递

    2019-09-12

  • 完整的项目构建过程包括:清理——>编译——>测试——>打包——>集成测试——>验证——>部署,等步骤。

    maven将这个过程进行了抽象,实际上maven和插件是密不可分的,maven抽象出了项目构建的生命周期,而插件是对maven抽象的具体实现,比如我们对项目进行编译,那么compiler就对应了maven compiler plugin。

    maven中定义三套独立的生命周期:分别包括clean、default、site,这三套生命周期是相互独立的,每个生命周期又包含一些阶段,各个生命周期的阶段是有顺序的,且后面的阶段依赖前面的阶段,执行每个阶段时,其前面的阶段会依次顺序执行,但不会触发另外两套生命周期的任何阶段,就好像之前使用到的package命令,该命令用于打包,虽然在运行package命令之前,并没有compile和test,但当我们运行package之后,它的compile和test是依次执行的,也就是运行package这个阶段时,compile和test会自动的运行。

    1、clean:目的是来清理项目,它又分为三个阶段。

    pre-clean执行清理前的工作

    clean清理上一次构建生成的所有文件

    post-clean执行清理后的文件

    2、default:目的是来构建项目(生命周期中最核心,包含了构建项目时所要执行的步骤),阶段比较多,常用阶段有以下几种。

    例如:compile test package install,默认都是default这个生命周期中的。

    3、site:生成项目的站点,会根据pom种的信息,自动生成一个站,它又分为以下几个阶段。

    pre-site:在生成项目站点前要完成的工作。

    site:生成项目的站点文档。

    post-site:在生成项目站点后要完成的工作。

    site-deploy:发布生成的站点到服务器上。


    查看全部
  • maven依赖冲突:如果有A(南哥)和B(B哥)依赖了一个不同版本相同的构件(commons-io),那么对于依赖于AB的C(山鸡哥)来说,它究竟依赖于A和B的哪一个版本的构件,这里有两条原则。

    原则1:短路优先:优先解析路径短的版本,加入有以下的依赖,假如有以下的依赖,A依赖B,B依赖C,C依赖X,X可以理解为一个jar。A依赖D,D依赖X。会优先解析路径短的这个版本。

    https://img3.sycdn.imooc.com/5d08cb62000152bf06640418.jpg案例:B哥依赖commons-io的2.4版本,南哥依赖的是commons-io的2.0版本

    描述:这里使用到了一个新的依赖,https://mvnrepository.com/输入commons-io,点击第一个,会出现很多的版本,使用2.4和2.0

    点击了这个版本之后,会出现该构件的坐标,为B哥复制的依赖时Commons-io的2.4版本

    原则2:先声明先优先:如果路径长度相同,则谁先声明,先解析谁

    案例2:

    南哥不在依赖B哥,所以删除南哥pom中依赖B哥的标签,山鸡哥同时依赖南哥和B哥,也就是说山鸡依赖的路径长度相同,但是依赖B哥的标签在依赖南哥标签的前面,这样就可以看到山鸡依赖的是B哥所依赖的jar包2.4。


    查看全部
    0 采集 收起 来源:maven依赖冲突

    2020-09-06

  • eclipse中仓库定义


    查看全部
  • clean.comple.test.pavkage.install

    查看全部
  • maven三大生命周期clen default site

    查看全部
  • 项目构建过程

    查看全部
  • 常用到的就是排除传递依赖,使用<exclusions></exclusions>标签。

    查看全部
    0 采集 收起 来源:maven依赖冲突

    2019-08-27

  • maven——项目管理利器
    查看全部
    0 采集 收起 来源:课程总结

    2019-08-22

  • maven依赖冲突:

    1. 短路优先

    A->B->C->X(jar)

    A->D->X(jar) (优先用这个X)

    2. 先声明先优先

    如果路径长度相同,则谁先声明,先解析谁

    查看全部
    0 采集 收起 来源:maven依赖冲突

    2019-08-21

举报

0/150
提交
取消
课程须知
学习本门课程前需要具备Java基础和Java Web基础!
老师告诉你能学到什么?
1、maven的基本概念 2、如何快速使用maven来构建项目 3、maven中的核心概念 4、使用maven构建web项目以及如何集成tomcat、jetty插件

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!