注意注意:要想用idea创建maven项目,jdk必须得是1.8版本的,配置环境变量要对哦!!!
1.创建maven项目:
建一个测试类:
完成项目测试部分(依次执行以上四个步骤)
2.依赖管理
1》scope 依赖范围
其中依赖范围scope 用来控制依赖和编译,测试,运行的classpath的关系. 主要的是三种依赖关系如下:
compile: 默认编译依赖范围。对于编译,测试,运行三种classpath都有效
test:测试依赖范围。只对于测试classpath有效
provided:已提供依赖范围。对于编译,测试的classpath都有效,但对于运行无效。因为由容器已经提供,例如servlet-api
runtime:运行时提供。例如:jdbc驱动
2》依赖传递:
当第二依赖的范围是compile的时候,依赖可以传递
当第二直接依赖的范围是test的时候,依赖不会得以传递
3.Maven 核心概念
1》POM
2》约定的目录结构
3》坐标
4》依赖管理
5》仓库管理
6》生命周期
7》插件和目标
8》继承
9》聚合
4.生命周期:
在Maven中有三套相互独立的生命周期,请注意这里说的是“三套”,而且“相互独立”,这三套生命周期分别是:
Clean Lifecycle: 在进行真正的构建之前进行一些清理工作。
Default Lifecycle: 构建的核心部分,编译,测试,打包,部署等等。
Site Lifecycle: 生成项目报告,站点,发布站点。
1》 Default生命周期:构造项目
validate
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 接受编译好的代码,打包成可发布的格式,如 JAR 。
pre-integration-test
integration-test
post-integration-test
verify
install 将包安装至本地仓库,以让其它项目依赖。
deploy 将最终的包复制到远程的仓库,以让其它开发人员与项目共享
2》运行任何一个阶段的时候,它前面的所有阶段都会被运行
这也就是为什么我们运行mvn install 的时候,代码会被编译,测试,打包,安装到本地仓库
此外,Maven的插件机制是完全依赖Maven的生命周期的,因此理解生命周期至关重要。
5.继承
继承是为了消除重复,可以把很多相同的配置提取出来。例如:grouptId,version等
创建父工程
6.聚合**