Maven是什么?是干什么用的?
Maven是一个跨平台的项目管理工具,Maven主要服务于基于Java的项目的构建、项目信息管理和依赖管理。
Maven的作用
1)Maven可以创建项目
Maven提供了创建项目的能力,Maven项目具有统一的项目结构,这个项目结构是参考业界的最佳实践而成的,为后面使用统一的maven命令打下了基础。
2)Maven可以引入依赖的Jar包
在Maven中有一个核心的概念——仓库,分为本地仓库和远程仓库,远程仓库又分为中央仓库、私服和其他公共库。
- 本地仓库:开发人员个人计算机上的Maven仓库。
- 远程仓库:网络上的仓库。
- 中央仓库:Maven官方提供的仓库大全。
- 私服:局域网中搭建的Maven仓库,为公司内的开发人员公用。
- 其他公共库:一些知名公司将收集的依赖构建而成的仓库,并将仓库地址发布到网络中供其他用户使用。比如阿里巴巴的公共库
3)Maven发布管理项目
Maven可以将项目打包成开发人员指定的类型,用于部署到Web容器。Maven还可以将项目打包到仓库中,方便项目的相互依赖。
Pom文件详解
pom.xml文件主要包含以下标签:
- <groupId>:项目的全球唯一标识符,与Java包名的命名方式相同。
- <artifactId>:本项目的唯一ID,一般为项目名称。
- <version>:项目版本号。
- <parent>:表示父依赖,当前项目可以继承父依赖中配置的依赖和属性,类似Java中的继承。
plugin | 作用 | 对应IDEA操作 |
maven-clean-plugin | 清理上一次执行创建的目标文件 | clean |
maven-resources-plugin | 处理源资源文件和测试资源文件 | compile |
maven-compiler-plugin | 编译源文件和测试源文件 | compile |
maven-surefire-plugin | 执行测试文件 | test |
maven-war-plugin或 maven-jar-plugin | 创建war或jar文件 | package |
maven-install-plugin | 将war文件打包放入本地仓库 | install |
maven-deploy-plugin | 发布jar文件到指定的仓库 | deploy |
Maven操作有9个,如下:
- clean:清除项目编译后的资源文件。
- validate:验证工程是否正确,所有需要的资源是否可用,可以验证pom.xml文件的正确性。
- compile:编译项目,测试代码的正确性。
- test:执行项目中的测试用例。
- package:将项目打包。
- verify:运行任何检查,验证包是否有效且达到质量标准。
- install:将项目打包进本地仓库。
- site:生成项目的网页形式的文档。
- deploy:将项目包发布到远程仓库。