什么是maven
maven是基于项目对象模型(Project·Object·Model --> POM),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。
maven是一个项目管理工具,包含了一个项目对象模型(Project·Object·Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑.
Maven依赖管理
依赖管理就是项目中对jar包的管理,可以在pom文件中定义jar包的GAV坐标,管理项目对jar包的依赖
pom文件
<!-- 当前pom模型的版本 -->
<modelVersion>4.0.0</modelVersion>
<!-- 组织名称:一般是所在组织/公司名称, -->
<groupId>com.baidu</groupId>
<!-- 当前项目或模块或子项目在组中的唯一标识 -->
<artifactId>maven01</artifactId>
<!--
当前项目的版本号
snapshot 表示开发中
release 表示通过测试,候选版本
final 最终版本
-->
<version>0.0.1</version>
<!-- 为项目定义一个名称,可省略 -->
<name>maven01</name>
<!-- 依赖关系,通过此依赖关系,项目可以精确找到所有开源发布的jar包/项目 -->
<dependencies>
<!-- 依赖设置 -->
<dependency>
<!-- 依赖组织名称 -->
<groupId>junit</groupId>
<!-- 依赖项目名称 -->
<artifactId>junit</artifactId>
<!-- 依赖版本名称 -->
<version>4.11</version>
<!-- 依赖范围:test包下依赖该设置 -->
<scope>test</scope>
</dependency>
</dependencies>
Maven的几个常用命令
mvn compile 编译 如果编译通过,项目根目录下会生成target目录,该目录下存放编译后的字节码文件(.class)
mvn clean 删除target目录
mvn test 执行所有的单元测试 执行完成后,target目录中会生成3个文件夹:surefire surefire-reports(测试报告) test-classes(测试的字节码文件)
mvn package 打包项目 执行完成后,target目录中会生成一个jar或者war的文件
mvn install 安装 执行通过,会将打好的jar包安装到本地仓库,可以供其他项目或工程引用