我不知道经常喜欢在平台写博客的人,都是一些什么人?应该是一群有意思的人
这里写目录标题
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报错页面: