• Maven介绍、优缺点、生命周期、坐标、依赖...


    目录

    什么是Maven:

    Maven的优缺点:

    优点:

    缺点:

    Maven生命周期:

    Maven坐标

    Maven常见的依赖范围

    依赖的传递:


    什么是Maven:

    译为“专家”、"内行“,是Apache基金会下的一个纯Java开发的开源项目。基于项目对象模型(缩写:POM)概念,主要用于基于Java开发的项目创建,依赖管理和项目信息管理。

    Maven的优缺点:

    优点:

    1. 对第三方依赖库进行统一的版本管理
    2. 统一项目的目录结构
    3. 统一软件构建阶段
    4. 便于项目升级,无论是项目本身升级还是项目使用的依赖升级。
    5. 有助于多模块项目的开发,一个模块开发好后,发布到仓库,依赖该模块时可以直接从仓库更新,而不用自己去编译。
    6. maven有很多插件,便于功能扩展,比如生产站点,自动发布版本等
    7. 自动生成项目网站和报表

    缺点:

    1. maven是一个庞大的构建系统,学习难度大
    2. maven采用约定优于配置的策略(convention over configuration),虽然上手容易,但是一旦出了问题,难于调试。
    3. 当依赖很多时,m2eclipse 老是搞得Eclipse很卡。
    4. 中国的网络环境差,很多repository无法访问,比如google code, jboss 仓库无法访问等。

    Maven生命周期

    1.clean周期:(清理)主要用于清理上一次构建产生的文件,可以理解为删除target目录

    2.默认周期:真正进行项目编译导报等工作阶段

    1. validate:验证项目是否正确
    2. compile:编译,编译项目的源代码*****
    3. test:测试,junit这些测试不应该要求代码被打包或部署
    4. package:进行打包。
      1. java工程------------.jar
      2. javaweb工程------.war
    5. verify:验证,对集成测试结果执行检察
    6. install:安装****
      1. 所有的项目都可以编程jar包*(依赖)
    7. deploy:部署,及那个最终的包赋值到远程储存库,和其他开发人员共享(maven私服)

    3.site周期:(站点)

    • site产生项目的站点文档
    • site-deploy将项目的站点文档部署到服务器

    Maven坐标

    GroupId:团体组织标识符,它一般情况下以创建这个组织的名称的逆向域名开头。
    ArtifactId:项目名。单独项目的唯一标识符。
    Version:版本
    通过这三个向量来定位Maven仓库中其jar包所在的位置,把对应的jar包引入到工程中

    Maven常见的依赖范围

    • compile:默认。编译范围,编译,测试,运行都有效。参与打包,安装。
    • test:测试范围,只有在test范围下才能用,不参与打包,安装。
    • provided:编译和测试,不参与打包,安装。
    • runtime:运行,只参与运行。
    • system:废弃。系统。
    • import:废弃。引入。

    依赖的传递:

    比如所demo01的项目中引入了mysql,servlet,fastjson,codec依赖,那我把demo01install到了我的本地仓库,或者是maven私服,如果其他成员通过GAV引入了我的demo01,demo01中的mysql,servlet,fastjson,codec会不会一起引入进来???
    !!!!!会!!!!!

  • 相关阅读:
    工程伦理--16.1传统制造业的转型升级与伦理问题
    Qt/C++ 获取QProcess启动的第三方软件的窗体标题
    利用 Linux grep 和 awk 完成日志过滤
    java版工程管理系统Spring Cloud+Spring Boot+Mybatis实现工程管理系统源码
    C语言入门Day_23 指针的使用
    [国产MCU]-W801开发实例-用户报文协议(UDP)数据接收和发送
    应用层总结(未完待续 )
    Android动画——使用动画启动Activity
    结构体大小的计算(结构体内存对齐)
    js_for循环实操
  • 原文地址:https://blog.csdn.net/weixin_49627122/article/details/126896233