Maven的作用:
- Maven作为依赖管理工具,能够管理规模庞大jar包。使用Maven后,依赖对应的Jar包能够自动下载、方便、快捷且规范。
- Maven作为构建管理工具。当我们使用 IDEA 进行开发时,构建是 IDEA 替我们做的。脱离IDEA环境执行构建操作,需要专门工具。
Maven构建的环节
- 清理:删除上一次构建的结果,为下一次构建做好准备
编译:Java 源程序编译成 *.class 字节码文件
测试:运行提前准备好的测试程序
报告:针对刚才测试的结果生成一个全面的信息
打包
Java工程:jar包
Web工程:war包
安装:把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库
部署
部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上
部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat 服务器上
Maven工程的打包方式
jar:表示这个工程是一个Java工程
war:表示这个工程是一个Web工程
pom:表示这个工程是“管理其他工程”的工程
<packaging>jar</packaging>
Maven核心概念:POM
POM:项目对象模型(类比DOM:文档对象模型),是模型化思想的具体体现。pom.xml 配置文件就是 Maven 工程的核心配置文件。其实学习 Maven 就是学这个文件怎么配置,各个配置有什么用。
Maven约定的目录结构

- 约定目录结构的意义:Maven 为了让构建过程能够尽可能自动化完成,所以必须约定目录结构的作用。例如:Maven 执行编译操作,必须先去 Java 源程序目录读取 Java 源代码,然后执行编译,最后把编译结果存放在 target 目录
- 约定大于配置:Maven 对于目录结构这个问题,没有采用配置的方式,而是基于约定。这样会让我们在开发过程中非常方便。如果每次创建 Maven 工程后,还需要针对各个目录的位置进行详细的配置,那肯定非常麻烦。
目前开发领域的技术发展趋势就是:约定大于配置,配置大于编码
在Maven工程中编写代码和构建
在子目录中分别编写java程序和测试类程序
进入pom.xml所在的目录,运行Maven的构建命令。构建相关命令必须进入所操作工程的pom.xml目录
清理操作:mvn clean 删除target目录
编译操作:
主程序编译:mvn compile 编译结果存放目录:target/classes
测试程序编译:mvn test-compile 编译结果存放目录:target/test-classes
测试操作:mvn test 测试的报告存放的目录:target/surefire-reports
打包操作:mvn package 打包的结果——jar 包,存放的目录:target
安装操作:mvn install
Maven依赖查询网站
https://mvnrepository.com/