我不知道经常喜欢在平台写博客的人,都是一些什么人?应该是一群有意思的人

这里写目录标题

  • 1、什么是maven
  • 2、为什么要使用maven
    • 2.1、问题一
    • 2.2、问题二
    • 2.3、总结
  • 3、使用maven的好处
    • 3.1、模型上的差异
    • 3.2、jar的使用
    • 3.3、jar的引入
  • 4、maven的缺点

1、什么是maven

官方回答:

个人理解,我们经常会被一些外在事物影响,难以判断最根本的东西,maven主要就是更好的帮助我们处理那些繁琐的项目依赖,比如各种jar包、模块之间的依赖频繁调用,无用繁琐且容易出问题;

2、为什么要使用maven

这个跟之前的说法相呼应,主要是因为两点:

2.1、问题一

项目中的jar包资源需要我们自己从网上下载后,手动导入到项目中使用,一旦jar包资源过多,容易造成遗漏并且不好管理

2.2、问题二

假如我们有两个项目,项目A和项目B,如果项目A中需要使用项目B 中的某些资源,需要我们自己手动的将项目B中的资源导出为jar包,然后手动导入到A项目中,比较麻烦

2.3、总结

我们是干什么的,我们是搞程序开发的,那么能不能开发一款软件,专门来管理项目中的第三方的jar包资源呢?我们可以通过该软件来导入我们自己项目开发需要的jar包资源,同时还可以通过这款软件将自己的项目中的资源导出为jar包对外提供服务呢?答案是可以,那就是maven

3、使用maven的好处

使用maven的好处,还是大大的有,

在了解之前,我们要先知道一个概念,那就是ant:软件构建工具,或许大家见过ant的jar包,但是不一样,ant他指的是我们之前做的无论是jdbc还是mybaits或者是spring,它们都是通过运行一系列操作,最终将项目的配置和源文件统一进行加载至comcat上,当然这个是我刚了解,为此还特意问了一下:


如有需要可以去他的博客学习一下:

两个猕猴桃

3.1、模型上的差异

maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是POM(project object model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹

3.2、jar的使用

我们之前的框架jar包使用的时候,大都是像这样引入的:

这样或许在有些培训机构的学生看起来比较简单,不就是文件复制一下,导一下就行了,但如果这些jar包让你找呢?确实很麻烦,

另外就是我们之前在一个项目中,创建了很多模块,我们需要重复加载很多次jar包,这些加载的都是我们直接拿着jar包的源文件进行加载的

maven是通过pom进行引入jar包,在jar的版本管理以及处理jar包直接的依赖关系上比较好

3.3、jar的引入

Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹

4、maven的缺点

主要的优点就这些,那maven有什么缺点吗?

对于初学者来说,maven需要注意某些jar是哪个公司的,导入时可能会因为编写的不正确,最终显示不了效果

第二点的话应该就是他的结构相比我们之前学习的框架,有些复杂

本文章只作为个人笔记,如有错误请指出:

点赞就送精美404报错页面:

Maven工具的简单介绍,以及manen与spring框架之前的优缺点,解决什么是maven、为什么要使用maven,使用maven的好处等问题相关推荐

  1. 多通道振弦传感器无线采集仪参数配置工具SETP简单介绍

    多通道振弦传感器无线采集仪参数配置工具SETP简单介绍 VS208/416/432 是以振弦.温度传感信号为主的多通道无线采集仪,并可扩展其它 模拟(电流.电压.电阻)信号和数字信号(RS485.RS ...

  2. Postman工具的简单介绍

    Postman工具简单介绍 前言 一.侧边栏 二.工具栏 三.构建器 四.控制台 五.菜单栏 六.状态栏 七.选项卡和窗口 八.键盘快捷键 九.数据编辑器 十.支持多行 前言 Postman提供了一种 ...

  3. 如何写好测试用例以及go单元测试工具testify简单介绍

    背景 ​ 最近在工作和业余开源贡献中,和单元测试接触的比较频繁.但是在这两个场景之下写出来的单元测试貌似不太一样,即便是同一个代码场景,今天写出来的单元测试和昨天写的也不是很一样,我感受到了对于单元测 ...

  4. otrs软件_开源ITIL管理工具OTRS简单介绍

    OTRS的名字是由Open-source Ticket Request System首字母縮略字而来,是一个开源的缺陷跟踪管理系统软件.OTRS将电话,邮件等各种渠道提交进来的服务请求归类为不同的队列 ...

  5. 安卓手机自动化一些工具的简单介绍

    工具1Monkey: 工具介绍:Monkey是一个程序,运行在您的模拟器或设备上,并生成伪随机的用户事件流,如点击,触摸或手势,以及一些系统级事件. 您可以使用Monkey以随机但可重复的方式对您正在 ...

  6. java 测试工具 oracle_几种测试工具的简单介绍

    负载测试(Load Test):负载测试是一种性能测试,指数据在超负荷环境中运行,程序是否能够承担. 二.WinRunner WinRunner 是一种企业级的功能测试工具,用于检验企业应用程序是否能 ...

  7. IOS手机自动化一些工具的简单介绍

    工具1XCTest     XCTest是苹果在iOS 7和Xcode5引入的一个简单而强大的测试框架,它的测试编写起来非常简单,并且遵循xUnit风格.XCTest的优点是与Xcode深度集成,有专 ...

  8. Linux系统自带日志管理工具rsyslog简单介绍

    1,可以已查看本机的rsyslog服务状态 sudo systemctl status rsyslog 2,可以查看服务的包的版本及配置所在目录 2.1,可以看出这个 /etc/logrotate.d ...

  9. 大数据离线分析工具Hive简单介绍

    Hive是Facebook为了解决海量日志数据的分析而开发的,后来开源给了Apache软件基金会,可见Apache软件基金会是个神奇的组织,我们之前学过的很多开源工具都有Apache软件基金会的身影. ...

  10. 快速跳转工具--FASD 简单介绍

    前言 fasd是一个命令行加速工具.它提供了对文件和文件夹的快速访问.它和autojmp, z, v都很相近.它会记录你访问过的文件夹和文件, 然后你就可以通过简短的名字来直接访问它们. fasd会对 ...

最新文章

  1. Jacobian矩阵的几何意义
  2. 基于海康机器视觉算法平台的对位贴合项目个人理解 | CSDN原力计划
  3. 浏览器兼容性 问题收集
  4. spring boot多环境配置
  5. Vue 3 —— 当 data 和 ref 相同时 运行时错误 [ReferenceError: xxx is not defined]
  6. 加班其实不是真正的理由(Coders Life)
  7. 上个ensp实验只发了配置,这次是命令条目
  8. Navicat 提示 Access violation at address ***(771B7870) in module ‘ntdll.dll’. Read of address ***(220A
  9. wifi情况下使用fiddler_钢筋网片在什么情况下使用?
  10. android获取各种系统路径的方法
  11. 用MyEclipse测试发送email时报java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream
  12. Android自定义View【实战教程】2⃣️----自定义view那些事
  13. 《模拟电子技术基础》-(童诗白)笔记
  14. matlab 计算函数极值,如何用MATLAB求函数的极值点和最大值
  15. 零基础:21天搞定Python分布爬虫完整视频教程百度网盘免费获取
  16. vue:如何实现文字竖排
  17. DGL笔记1——用DGL表示图
  18. Python3之数据结构
  19. SVL-VI SLAM
  20. 微信小程序获取用户信息后的解密操作

热门文章

  1. Cloud Foundry 2018欧盟峰会日程已确定
  2. OpenStack Queens版本Security项目介绍
  3. 【元胞自动机】基于matlab元胞自动机超车换道【含Matlab源码 359期】
  4. 【三维路径规划】基于matlab广度优先搜索算法无人机三维路径规划【含Matlab源码 270期】
  5. 【TWVRP】基于matalb模拟退火算法求解带时间窗的车辆路径规划问题【含Matlab源码 160期】
  6. 【TWVRP】基于matlab节约算法求解带时间窗的车辆路径规划问题【含Matlab源码 156期】
  7. 【基础教程】基于matlab图像融合总结【含Matlab源码 055期】
  8. 【数学建模】基于matlab时变参数随机波动率向量自回归模型(TVP-VAR)【含Matlab源码 037期】
  9. springcloudalibaba 架构图_Spring Cloud Alibaba 架构实战
  10. Mybatis Sql 大于号小于号不兼容