一.Maven的常用命令
1. 一个maven项目生命周期
1.1使用 maven 完成项目的构建,项目构建包括:清理、编译、测试、部署等过程,maven 将这些 过 程规范为一个生命周期,如下所示是生命周期的各各阶段:
1.2maven 通过执行一些简单命令即可实现上边生命周期的各个过程
命令 | 说明 |
mvn complie | 完成编译操作 , 执行完毕后,会生成target目录,该目录中存放了编译后的字节 码文件。 |
mvn clean | 执行完毕后,会将target目录删除. |
mvn test | 执行完毕后,会在target目录中生成三个文件夹: surefire、surefire-reports(测试报告)、test-classes(测试的字节码文件) |
mvn package | 完成打包操作, 执行完毕后,会在target目录中生成一个文件,该文件可能是 jar、war |
mvn install | 执行 mvn install命令,完成将打好的jar包安装到本地仓库的操作 , 执行完毕后,会在本地仓库中出现安装后的jar包,方便其他工程引用 |
1.3idea中安装好maven后, 在界面左侧有一个maven视图, 里面有对应的命令插件,可以执行上面表格中 的命令
1.4IDEN工具栏介绍
1.根据pom.xml文件重新导入所有Maven项目和依赖,刷新 2.创建源码(重新编译)并更新目录 3.下载源码或文档 4.添加Maven项目 5.执行生命周期中的阶段,选中lifecycle选项中生命周期中的一个阶段(phase),才能点击执行。 6.运行Maven生命周期或插件 7.切换离线模式,就是关闭和远程仓库的链接,从本地仓库中获取,也不能将jar包提交到远程仓库 8.是否跳过测试,点击选中就可以跳过测试,在点击选择取消跳过测试 9.展示当前选中的maven项目jar包的依赖,并且可以直接在图形化依赖图上进行排除依赖操作 10.收起下面展开的视图 11.跳转到maven的Setting页面 |
2. 依赖范围介绍
2.1A 依赖 B,需要在 A 的 pom.xml 文件中添加 B 的坐标,添加坐标时需要指定依赖范围,依赖范围包括:
依赖范围 | 说明 |
compile | 编译范围,指 A在编译时依赖 B,此范围为默认依赖范围。编译范围的依赖会用在 编译、测试、运行,由于运行时需要所以编译范围的依赖会被打包。 |
provided | provided 依赖只有在当 JDK 或者一个容器已提供该依赖之后才使用, provided 依 赖在编译和测试时需要,在运行时不需要,比如:servlet api 被 tomcat 容器提供。 |
runtime | runtime 依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc 的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。 |
test | test 范围依赖 在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可 用, 比如:junit。由于运行时不需要所以test范围依赖不会被打包。 |
system | system 范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR 文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。 |
3.Maven项目需要导入各种坐标可到官网,搜索自己的坐标
https://mvnrepository.com/
(Maven使用注意事项,在idea中有时仓库路径会变成默认的,需要检查下,改成自己需要的)