1.先了解一下Maven
Maven主要用来管理一个项目的构建、依赖、生成、报告和文档等,与IDE无关。
主要作用是用来编译打包我们的应用程序,管理我们程序中所用到的jar包
maven管理jar包的方式是提供了一个中央仓库和本地仓库。所以用maven管理jar包不需要把jar包引入到工程中,只需要在maven中描述需要什么样的jar包,maven会从中央仓库中间把jar包下载到本地仓库里,然后从本地仓库关联到我们的工程里。
本地的maven仓库默认在我们每个用户的用户目录的.m2目录下。当maven中jar包出现混乱时,我们可以选择删除.m2目录。这样maven就会重新下载这些jar包。
我们项目中的所有文件,maven提供了一个标准的目录结构,规定我们的生产代码,测试代码放在什么样的目录下以及这些目录的命名方式。
maven管理这么多东西,但是所有信息都放在pom文件中,pom文件定义了项目的一些最基本的信息,描述了用户如何去构建、打包一个项目,以及声明项目中会引用多少jar包,也就是项目的依赖。使用pom文件会大大简化我们开发和构建的过程,使得整个项目管理和具体的IDE无关
2.maven的生命周期
三个生命周期:Clean(清理),Default(构建),Site(站点)
每一个生命周期包含的阶段
Clean(清理):pre-clean——> clean——> post-clean
Default(构建)validate——> initialize——> generate-sources——>process-sources ——> generate-resources——>process-resources ——>compile——>process-classes ——> generate-test-sources——>process-test-sources ——> generate-test-resources——>process-test-resources ——>test-compile——>process-test-classes——>test——>prepare-package——>package——>pre-integration-test——>integration-test——>post-integration-test——>verify——>install——>deploy
Site(站点)pre-site——>site——>post-site——>site-deploy
三个生命周期之间是线性独立的
生命周期的每个阶段都会跟插件进行绑定。执行到的阶段实际上是执行这个阶段所绑定的插件。
3.Maven插件
插件的每一个功能称之为插件的目标Plugin Goal
最长用的插件
spring-boot-maven-plugin
springboot:run 运行springboot的应用程序,会在maven的标准的目录结构上去找到jar文件
springboot:repackage 重新打jar包或者war包,把它变成一个可执行的包
springboot:help 用来显示plugin的一些帮助信息
springboot:start 启动一个springboot应用程序,不会阻塞
springboot:stop 停止start启动的应用程序
maven还有内置的一些绑定。
4.SpringBoot
主要作用用来构建一个独立的应用程序,
采用starter pom简化maven的配置
提供产品级的运行监控功能 通过Actuator监控应用服务器的运行状况
starter 的原理:jar包的集合及其配置