一、什么是Maven

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生成周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)插件。

Maven 有一个生命周期,当你运行 mvn install 的时候被调用。这条命令告诉 Maven 执行一系列的有序的步骤,直到到达你指定的生命周期。遍历生命周期旅途中的一个影响就是,Maven 运行了许多默认的插件目标,这些目标完成了像编译和创建一个 JAR 文件这样的工作。Maven能够很方便的帮你管理项目报告,生成站点,管理JAR文件,等等。

补充:jar包概念,jar 是 Java ARchive 的缩写,是一种基本 zip 格式的文件格式。目标是将 java 生成的类文件、资源文件、管理文件等按照特定的结构打包成一个成一个独立的文件,方便程序的发布或网络的下载。

二、项目开发-部署流程

三、通过IDEA创建Maven项目

1.新建一个Maven的module。

2.输入合适的 GroupId ArtifactId。一般 GroupId 代表的是机构名称,我们自己使用可以使用 com.自己名字代替,ArtifactId 描述这个项目的名字,给出合适的名字即可。

3.选择项目存储路径。

4.点击finish之后开启自动导入功能,这样就完成了创建工作。

四、依赖管理

1. Maven仓库:maven 仓库是一个类似手机上的 App Store 的东西,上面会有全世界的人上传的各种第三方的 jar 包供我们使用,当我们的项目需要用到其中的内容,可以像手机安装 app 一样方便的进行查找和按照。

2. 依赖管理:通常情况下,在一个共通的项目下,有一系列的项目。在这种情况下,我们可以创建一个公共依赖的 pom 文件,该 pom 包含所有的公共的依赖关系,我们称其为其他子项目 pom 的 pom 父。

3. Maven依赖查询网站( https://mvnrepository.com/ 

4. Maven的搜包过程 :

  1. 本地仓库搜索;

  2. 在setting.xml中加入阿里云的maven仓库,可以从阿里云仓库下载依赖包;

  3. 官方默认仓库,如果以上地址找不到依赖包,那么会从官方仓库下载;

  4. 如果以上都找不到,那么就是真的找不到。

 

五、Maven项目(jar包)的标准结构

1. 真正打包的内容:

(1)src / main / java : java源代码所在文件夹

(2)src / main / resources : 资源文件夹

2. 做测试用,不会加入打包的内容:

(3)src / test / java : 测试java代码文件夹

(4)src / test / resources : 测试资源文件夹

六、Maven生命周期(操作命令)

  1.  clean:清理。将 target 目录删除掉。

  2.  compile:编译。将java代码和资源文件夹编译 / 复制到target / classes。

  3.  test:测试。(1)执行compile,还会编译测试代码和测试资源;(2)执行单元测试代码。

  4.  package:打包。(1)执行test(可以配置不执行);(2)执行打包

  5.  install:安装。(1)执行package;(2)把打包的文件安装在本地仓库。

  6. deploy:部署/发布。(1)执行install;(2)提交到公司仓库,供其他人员使用。

补充:后一个步骤依赖前一个步骤

 

 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐