引言: 直接通过 jar 包使用别人完成的类库有哪些缺点呢?
- 需要自行下载 jar 文件
- 需要手动把 jar 文件复制到项目目录中
- 需要更改很多的 IDEA 配置
- 如果别人的 jar 包还依赖了其他类库,需要递归进行这个过程,也就是需要下载依赖的jar文件
一.什么是Maven?
Maven是 Apache 下的一个纯 Java 开发的开源项目,是一个项目构建和管理的工具;它提供了帮助管理、 构建、文档、报告、依赖、发布、分发的方法。可以方便的编译代码、进行依赖管理、管理二进制库等等。Maven是专门用于构建和管理Java相关项目的工具。
二.在Idea下如何创建一个 Maven 项目?
输入合适的 Groupld 和 Artifactld ,一般 Groupld 代表的是机构名称,我们自己使用可以使用 com.自己名字代替,Artifactld 描述这个项目的名字,给出合适的名字即可。
选择项目路径后,然后开启自动导入功能
然后项目就建立完成了!
三.具体介绍
1.代码一般在src\main\java文件夹下
2. src\main\resources’下一般是用于同时部署的一些资源文件,例如图片、音频、视频等
3. src\test\java 一般用来放一 些测试代码
4. pom.xml为maven最重要的文件,是maven的配置描述文件。
四. maven的配置文件------pom.xml
pom.xml 文件的后缀名表示这个文件是用XML格式进行组织的。什么是XML文件呢?简单的去理解,是一种类似我们学习过的HTML格式的文件, Java 语言中经常会用 XML 来做配置管理。
添加完成后,IDEA 中的 maven 会自动帮我们进行依赖 jar 包的下载,所以这个时候我们需要保证网络连接是可用的。
如果需要手动下载,大家可以在文件的空白处,点击鼠标右键,选择 maven -> reimport 进行重新导入。
至此,我们的依赖管理就配置完成了。
五.构建生命周期
通常,我们理解的工程构建,可以被区分成不同的生命周期(Lifecycle)和阶段(Phase)。
其中 maven 把各个阶段都做了各自的映射。
我们重点了解以下阶段即可。
- compile 编译阶段
- test 测试阶段
- package 打包阶段
- deploy 部署阶段
我们可以点击 package 进行打包,成功后,项目的 target 文件夹下会生成 Fo-1.0-SNAPSHOT.jar 包。但这个 jar 包是不带 Main-Class 的 jar 包,即无法直接运行。‘
六.插件
maven 同时还提供了开放的插件开发功能,可以提供给大牛们进行构建过程中方便功能的开发,这里我们针对性的使用其中一种插件,可以打包带 Main-Class 的 jar 包。
完成后再次进行 package 打包。这次生成的 jar 包就可以直接运行了。
七.maven 的作用
maven 的目标是完成项目构建解决一切繁琐事宜。我们具体关注它的以下功能:
- 提供一个标准的项目工程目录
- 提供项目描述
- 提供强大的版本管理工具
- 可以分阶段的进行构建过程
- 提供了丰富的插件库使用