第五章、其他核心概念
1、生命周期
1、作用
1、为了让构建过程自动化完成,Mavne设定了3个生命周期,每个环节对应构建过程中的一个操作
2、三个生命周期
| 生命周期名称 | 作用 | 各个环节 |
|---|---|---|
| Clean | 清理操作相关 | pre-clean clean post-clean |
| Site | 生成站点相关 | pre-site site post-site deploy-site |
| Default | 主要构建过程 | validate:检查maven的结构 generate-sources:编译源码 process-sources generate-resources process-resources 复制并处理资源文件,至目标目录,准备打包。 compile 编译项目 main 目录下的源代码。 process-classes generate-test-sources process-test-sources generate-test-resources process-test-resources 复制并处理资源文件,至目标测试目录。 test-compile 编译测试源代码。 process-test-classes test 使用合适的单元测试框架运行测试。这些测试代码不会被打包或部署。 prepare-package:准备打包 package 接受编译好的代码,打包成可发布的格式,如JAR。 pre-integration-test integration-test post-integration-test verify install将包安装至本地仓库,以让其它项目依赖。 deploy将最终的包复制到远程的仓库,以让其它开发人员共享;或者部署到服务器上运行(需借助插件,例如:cargo)。 |
2、插件和目标
1、插件
1;概念:Maven的核心仅仅负责宏观调控,不做具体工作。
2、具体工作都是Maven插件完成的
3、例如:编译是由maven-compiler-plugin-3.1.jar插件来执行
2、目标
1、相当于插件的功能,一个目标就是插件的功能
2、一个插件可以对应多个目标,每一个目标都和生命周期的某个环节对应
3、Default 生命周期中有 compile 和 test-compile 两个和编译相关的环节,这两个环节对应 compile 和 test-compile 两个目标,而这两个目标都是由 maven-compiler-plugin-3.1.jar 插件来执行的。
3、仓库
1、本地仓库
1、在当前电脑上,为电脑所有Maven工程服务
2、远程仓库
1、需要联网
2、局域网:自己搭的Maven私服,例如使用Nexus技术
3、中央仓库
4、镜像仓库:内容和中央仓库一样 ,可以为中央仓库分担负载和提高下载速度
5、注意:不要原生仓库和阿里仓库一起混用,会导致jar包不纯,彼此冲突
6、专门搜索Maven依赖信息的网站:https://mvnrespository.com