第一课:maven是什么,为什么使用Maven?

maven是一款服务于java平台的自动化构建工具。

一、Maven是什么

Maven(翻译为”专家”,”内行”)是跨平台的项目管理工具。主要服务于基于Java平台的项目构建,依赖管理和项目信息管理

1.1、项目构建

项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。

第一课:maven是什么,为什么使用Maven?

  理想的项目构建是高度自动化,跨平台,可重用的组件,标准化的,使用maven就可以帮我们完成上述所说的项目构建过程。

构建:

构建定义:把动态的Web工程经过编译得到的编译结果部署到服务器上的整个过程。

编译:java源文件[.java]->编译->Classz字节码文件[.class]

部署:最终在sevlet容器中部署的不是动态web工程,而是编译后的文件

构建的各个环节:

  • 清理clean:将以前编译得到的旧文件class字节码文件删除
  • 编译compile:将java源程序编译成class字节码文件
  • 测试test:自动测试,自动调用junit程序
  • 报告report:测试程序执行的结果
  • 打包package:动态Web工程打War包,java工程打jar包
  • 安装install:Maven特定的概念—–将打包得到的文件复制到“仓库”中的指定位置
  • 部署deploy:将动态Web工程生成的war包复制到Servlet容器下,使其可以运行

1.2、依赖管理

依赖指的是jar包之间的相互依赖,比如我们搭建一个Struts2的开发框架时,光光有struts2-core-2.3.16.3.jar这个jar包是不行的,struts2-core-2.3.16.3.jar还依赖其它的jar包,依赖管理指的就是使用Maven来管理项目中使用到的jar包,Maven管理的方式就是“自动下载项目所需要的jar包,统一管理jar包之间的依赖关系”。

1.3、使用Maven的好处

Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定。

Maven的每一个动作都拥有一个生命周期,例如执行 mvn install 就可以自动执行编译,测试,打包等构建过程

只需要定义一个pom.xml,然后把源码放到默认的目录,Maven帮我们处理其他事情

使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。

二、为什么使用Maven这样的构建工具

① 一个项目就是一个工程
如果项目非常庞大,就不适合使用package来划分模块,最好是每一个模块对应一个工程,利于分工协作。借助于maven就可以将一个项目拆分成多个工程

② 项目中使用jar包,需要“复制”、“粘贴”项目的lib中
同样的jar包重复的出现在不同的项目工程中,你需要做不停的复制粘贴的重复工作。借助于maven,可以将jar包保存在“仓库”中,不管在哪个项目只要使用引用即可就行。

③ jar包需要的时候每次都要自己准备好或到官网下载
借助于maven我们可以使用统一的规范方式下载jar包,规范

④ jar包版本不一致的风险
不同的项目在使用jar包的时候,有可能会导致各个项目的jar包版本不一致,导致未执行错误。借助于maven,所有的jar包都放在“仓库”中,所有的项目都使用仓库的一份jar包。

⑤ 一个jar包依赖其他的jar包需要自己手动的加入到项目中
FileUpload组件->IO组件,commons-fileupload-1.3.jar依赖于commons-io-2.0.1.jar
极大的浪费了我们导入包的时间成本,也极大的增加了学习成本。借助于maven,它会自动的将依赖的jar包导入进来。

125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/11578.html

(0)
江山如画的头像江山如画管理团队
上一篇 2023年1月26日 下午7:21
下一篇 2023年1月27日 上午9:04

99%的人还看了以下文章

  • JS+CSS3制作图形验证码

    一个前端验证的验证码,利用JS和CSS3实现。

    2022年12月1日
    11.1K0
  • python 实战-逢7 过游戏的实现

    不知道你有没有玩过“逢 7 过”的游戏,游戏规则很简单: 几个人轮流报数,凡遇到 7 的倍数,或含 7 的数字就要跳过,否则就算失败。 今天我们就用 Python 来打印 1 到 100 之间,所有满足条件的数字。 知识点 Python 开发环境 int 类型 变量 运算符 while 循环 条件判断 💡提示: 开发中,我们经常要先构思框架,…

    2022年2月2日
    10.7K0
  • JSP分页思想2—核心代码

    一、通过order by id desc limit ?,? 控制当前页面显示的记录 显示第几页,共几页,上一页 下一页 <% int PageSize=2; //一页显示的记录数 int RowCount=0; //记录总数 int PageCount=0; //总页数 int intPage; //待显示页码 int i;//循环变量 String…

    2019年10月30日
    16.0K0
  • 第二课:Maven的下载安装及环境变量配置

    一、Maven的下载 下载地址:http://maven.apache.org/download.cgi 下载完成后,得到一个压缩包apache-maven-***-bin.zip,解压,可以看到maven的组成目录 Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf:含有setting…

    2023年1月27日 编程开发
    6.4K0
  • 最全!jsp连接各种数据库代码及读取数据实例

    有好多jsp初学者经常会问数据库怎么连接?我怎么连接不上数据库、语句怎么总是出错?所以中国网页设计写篇文章供大家参考,主要包括以下7种数据库的链接。 一、jsp连接MySQL数据库 二、jsp连接Sql Server7.0/2000数据库 三、jsp连接DB2数据库 四、jsp连接Informix数据库 五、jsp连接Sybase数据库 六、jsp连接Pos…

    2020年12月6日
    10.8K0
  • 精!如何在IDEA中导入myeclipse项目、配置并运行(实例演示)

    125建站网站长原来开发的myeclipse项目直接在IDEA打开发现会有很多问题,根据解决过程,写出此文章供大家参考! 1.首先打开IDEA工具,选择导入项目,然后在弹出的窗口中选择要打开的myeclipse文件,然后点击确定。如图所示 2.选择Eclipse,然后一直下一步 3.正常我们SDK这里都配置好了,直接选择就好,然后完成项目的导入 4.导入的完…

    2023年2月3日 编程开发
    7.8K0

发表回复

登录后才能评论