首页 > 其他分享 >maven概述,maven依赖管理的概念,maven一键构建概念

maven概述,maven依赖管理的概念,maven一键构建概念

时间:2023-02-11 11:34:05浏览次数:46  
标签:Maven 工程 仓库 jar 一键 maven 概念 构建

maven概述

Maven在美国是一个口语化的词语,代表专家,内行的意思

  一个对Maven比较正式的定义是这么说的,Maven是一个项目管理工具,它包含了一个项目对象模型(POM:Project  Object  Model),一组标注集合,一个项目生命周期(Project  Lifecycle),一个依赖管理系统(Dependency  Management  System),和用来运行定义在生命周期阶段(phase) 中插件(plugin)目标(goal)的逻辑

可以用更通俗的方式来说明。我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种 必不可少的事情要做,下面列举几个感受一下:

  1、我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用 到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。

   2、我们辛辛苦苦写好了 Java 文件,可是只懂 0 和 1 的白痴电脑却完全读不懂,需要将它编译成二 进制字节码。

      好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA 等都可以将代 码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用 javac 命令一 个个地去编译,逗电脑玩。

   3、世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为 了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。

   4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型 打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。

   试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理 jar 包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站 点,你会心动吗?

  Maven 就可以解决上面所提到的这些问题 

 

maven依赖管理的概念

Maven 的一个核心特性就是依赖管理。当我们涉及到多模块的项目(包含成百个模块或者子项目),管理依赖就变成 一项困难的任务。Maven 展示出了它对处理这种情形的高度控制。 传统的 WEB 项目中,我们必须将工程所依赖的 jar 包复制到工程中,导致了工程的变得很大。那么 maven 工程是如何使得工程变得很少呢? 分析如下:

 

 

 

 

 

 

  通过分析发现:maven 工程中不直接将 jar 包导入到工程中,而是通过在 pom.xml 文件中添加所需 jar 包的坐标,这样就很好的避免了 jar 直接引入进来,在需要用到 jar 包的时候,只要查找 pom.xml 文 件,再通过 pom.xml 文件中的坐标,到一个专门用于”存放 jar 包的仓库”(maven 仓库)中根据坐标从 而找到这些 jar 包,再把这些 jar 包拿去运行。

   那么问题来了

     第一:”存放 jar 包的仓库”长什么样?

     第二:通过读取 pom.xml 文件中的坐标,再到仓库中找到 jar 包,会不会很慢?从而导致这种方式 不可行!

      第一个问题:存放 jar 包的仓库长什么样,这一点我们后期会分析仓库的分类,也会带大家去看我们 的本地的仓库长什么样。

      第二个问题:通过 pom.xml 文件配置要引入的 jar 包的坐标,再读取坐标并到仓库中加载 jar 包,这样我们就可以直接使用 jar 包了,为了解决这个过程中速度慢的问题,maven 中也有索引的概念,通过建立索引,可以大大提高加载 jar 包的速度,使得我们认为 jar 包基本跟放在本地的工程文件中再 读取出来的速度是一样的。这个过程就好比我们查阅字典时,为了能够加快查找到内容,书前面的 目录就好比是索引,有了这个目录我们就可以方便找到内容了,一样的在 maven 仓库中有了索引我 们就可以认为可以快速找到 jar 包

 

 

maven一键构建概念

  我们的项目,往往都要经历编译,测试,运行,打包,安装,部署等一系列过程

什么是构建?

  指的是项目从便不易,测试,运行,打包,安装,部署整个过程都交给maven进行管理,这个过程称为构建

一键构建

  指的是整个构建过程,使用maven一个命令可以轻松完成整个工作

Maven规范化构建流程如下 :

 

 我们一起来看 Hello-Maven 工程的一键运行的过程。通过 tomcat:run 的这个命令,我们发现现在的 工程编译,测试,运行都变得非常简单。

 

标签:Maven,工程,仓库,jar,一键,maven,概念,构建
From: https://www.cnblogs.com/yuzong/p/17111096.html

相关文章

  • 748~749 JSP概念,原理
    1.概念:JavaServerPages:java服务器端页面可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码 用于简化书写!!!......
  • 调度的概念、层次
    调度的概念、层次1、基本概念2、三个层次1)高级调度(作业调度)2)中级调度(内存调度)3)低级调度(进程调度)3、三层调度的联系、对比4、补充知识知识回顾......
  • 在Flask中构建API接口的相关概念
    在Flask中构建API接口的相关概念重定向行为斜杠以下两个路由的不同之处在于是否使用尾部的斜杠。第一个路由的URL尾部有一个斜杠,看起来就像一个文件夹,访问一个没有斜杠......
  • 数据结构的基本概念和常用术语
    数据:是描述客观事物的数、字符以及能输入计算机中并被计算机处理的符号的集合。例如,一个代数方程的求解程序中所使用的数据是实数,而一个文本编辑程序使用的数据是字符串。数......
  • 深入Alertmanager 概念与配置介绍
    原文: https://www.cnblogs.com/gered/p/13496950.html警报一直是整个监控系统中的重要组成部分,Prometheus监控系统中,采集与警报是分离的。警报规则在Prometheus定......
  • maven -nexus 导入已有的maven仓
    参考:https://www.jianshu.com/p/6971fca953fc ##nexus新建本地仓my_repo##新建一个文件夹myrepo,将本地仓库的包批量放入我们需要的本地库文件夹,注意必须将package层......
  • JSP概念、原理、脚本
    JSP概念1.概念:JavaServerPages:java服务器端页面以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码用于简化书写!!!<......
  • 造价管理-1-1-一文讲懂工程造价的概念之如何定位高质量打工企业
    工程造价什么叫工程造价,其实无论是老师或者课本都说的不咋样。他们都说是角度,其实并不是角度,更多程度上是一种法理。如果我用通俗的话讲:就是“资产是有归属的,但钱没有归......
  • Maven
    Maven的安装1检查Java的环境变量命令行:echo%JAVA_HOME%2jdk的配置方式:JAVA_HOME(新建)=D:\bigdata\software\Java\jdk1.8.0_361CLASSPATH(新建)=.;D:\bigdat......
  • jquery概念以及jquery快速入门
    JQuery概念概念:一个JAVAScript框架jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)。jQuery设计的宗旨是“writeLes......