Idea整合Maven安装及配置教程(图文详解)
目录
- 友情提醒
- 第一章、Maven概述
- 1.1)Maven是什么
- 1.2)Maven进行构建(build)的主要环节
- 第二章、Maven的下载安装和配置
- 2.1)Maven的下载
- 2.2)Maven环境变量配置
- 2.3)Maven文件setting的配置
- 第三章、Idea整合Maven
- 3.1)Idea配置Maven
- 3.2)新建Maven项目
- 3.3)低版本的Idea可能出现文件缺省
- 第四章、pom.xml文件配置
- 4.1)pom文件三要素
- 4.2)pom文件中JDK资源配置
- 4.3)pom文件中配置依赖管理
- 4.4)pom文件中build标签进行插件和资源管理
- 第五章、Maven的生命周期
- 5.1)Maven的插件使用
- 5.2)Maven依赖的生命周期
友情提醒
先看文章目录,大致了解知识点结构,直接点击文章目录可以跳转到文章指定位置。
第一章、Maven概述
1.1)Maven是什么
① Maven 是工具,专注服务于 Java 平台的项目自动化构建和依赖管理。
②可以整合多个项目之间的引用关系,我们可以根据业务和分层需要任意拆分一个项目。
③提供规范的管理各个常用jar包及其各个版本,并且可以自动下载和引入项目中。
④可以根据指定版本自动解决jar包版本兼容问题。
⑤可以把jar包所依赖的其它jar包自动下载并引入项目。
1.2)Maven进行构建(build)的主要环节
①清理:删除以前的编译结果,为重新编译做好准备。
②编译:将Java源程序编译为字节码文件。
③测试:针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。
④报告:在每一次测试后以标准的格式记录和展示测试结果。
⑤打包:将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。Java 工程对应 jar 包,Web工程对应war包。
⑥安装:在Maven环境下特指将打包的结果——jar包或war包安装到本地仓库中。
⑦部署:将打包的结果部署到远程仓库或将war包部署到服务器上运行
第二章、Maven的下载安装和配置
2.1)Maven的下载
①maven本身就是java写的所以要确保下载安装了java的JDK环境。(都用mave了,不至于不会装JDK啊这里就不赘述了)
②官网下载Maven:官网链接:http://maven.apache.org/download.cgi
③选择需要的版本,这里选择3.5.3版本
④选择binaries
⑤下载,然后解压到安装目录就安装成功了,注意:解压好了就是安装好了
2.2)Maven环境变量配置
①环境变量配置
右击桌面的“此电脑”图标>点击属性”>点击高级系统设置>环境变量>
②配置到系统环境变量path
2.3)Maven文件setting的配置
①文件结构,进入conf,点击setting文件
②设置本地仓库:在本地磁盘中创建一个repository文件夹,我在D盘创的
③在settings.xml文件中找到仓库配置,修改路径为刚刚创建的repository文件夹路径
④settings.xml中的插件配置
⑤settings.xml文件中修改镜像配置,找到标签,加入代码即可
alimaven central aliyun maven http://maven.aliyun.com/nexus/content/repositories/central/ alimaven aliyun maven http://maven.aliyun.com/nexus/content/groups/public/ central central Maven Repository Switchboard http://repo1.maven.org/maven2/ central repo2 central Human Readable Name for this Mirror. http://repo2.maven.org/maven2/ ibiblio central Human Readable Name for this Mirror. http://mirrors.ibiblio.org/pub/mirrors/maven2/ jboss-public-repository-group central JBoss Public Repository Group http://repository.jboss.org/nexus/content/groups/public google-maven-central Google Maven Central https://maven-central.storage.googleapis.com central maven.net.cn oneof the central mirrors in china http://maven.net.cn/content/groups/public/ central第三章、Idea整合Maven
3.1)Idea配置Maven
①第一步设置:File>Other Settings>settings for New Projects 设置将会作用于所有新建项目
②第二步:File>Other Settings>build,Execution,Deployment>Build Tools>Maven设置文件路径仓库路径
3.2)新建Maven项目
①第一步:创建工程New project>Maven>勾选Creat from archetype>选择Maven web工程。点击next下一步
②第二步:填好工程三要素:包名,工程名,版本。点击next下一步
③第三步:确定路径有没有错,没错直接下一步,然后finish
3.3)低版本的Idea可能出现文件缺省
①Maven的web工程会出现文件缺省,需要我们手动补齐File>project Structure>选择工程,补全工程结构
②Webapp没有标识时需要手动引入web属性
③设置路径信息
第四章、pom.xml文件配置
4.1)pom文件三要素
建好Maven工程后,文件列表中会看到pom.xml文件
配置文件通过三要素来锁定一个工程:
①version(版本号)
②groupId(包名)
③artifactId(工程名)
4.0.0 com.java maven002 1.0-SNAPSHOT war
4.2)pom文件中JDK资源配置
配置为1.8
UTF-8 1.8 1.84.3)pom文件中配置依赖管理
Maven可以根据三要素把需要的jar包依赖从本地仓库引入,并添加到war包中。
如果本地仓库没有,则去远程仓库下载到本地仓库。
从网站查询到需要引入的jar包三要素:Maven的jar包网站:https://mvnrepository.com/
①我们想要导入mysql的依赖jar包,先进入网站查询MySQL
②找到相关的jar包,点击进入选择版本
③如果不太熟悉的话,可以选择使用量较多的版本
④选择后,将下列代码复制进pom.xml文件
⑤复制到pom里面,点击更新会自动下载
⑥依赖传递
如果当前jar包还需要依赖其他jar包,则maven也会帮助我们直接引入,且自动适应版本号
commons-fileupload commons-fileupload 1.3.34.4)pom文件中build标签进行插件和资源管理
一般我们配置扫描资源文件就好了,插件不需要我们配置
src/main/java **/*.xml src/main/resources **/*.xml maven-clean-plugin 3.1.0 maven-resources-plugin 3.0.2 maven-compiler-plugin 3.8.0 maven-surefire-plugin 2.22.1 maven-jar-plugin 3.0.2 maven-install-plugin 2.5.2 maven-deploy-plugin 2.8.2 maven-site-plugin 3.7.1 maven-project-info-reports-plugin 3.0.0第五章、Maven的生命周期
5.1)Maven的插件使用
①构建项目时按照生命周期顺序构建,每一个阶段都有特定的插件来完成
②不论现在要执行生命周期中的哪个阶段,都是从这个生命周期的最初阶段开始的。
③清理 --> 编译 --> 测试 --> 打包 --> 安装,每一个步骤都会把前面的步骤再执行一遍。
5.2)Maven依赖的生命周期
依赖范围 编译classpath有效 测试classpath有效 运行classpath有效 例子 compile √ √ √ spring-core test √ Junit provided √ √ servlet-api runtime √ √ JDBC驱动 system √ √ 本地的,maven仓库之外的类库 1.compile默认
compile依赖默认值,在编译、测试和运行周期都存在。
2.provided
provided依赖只有在当JDK或者一个容器已提供该依赖之后才使用,provided依赖在编译和测试时需要,在运行时不需要,比如:servlet-api 被 tomcat 容器提供。
3.runtime
runtime依赖在运行和测试系统的时候需要,但在编译的时候不需要。比如:jdbc的驱动包。由于运行时需要所以 runtime 范围的依赖会被打包。
4.test
test范围依赖在编译和运行时都不需要,它们只有在测试编译和测试运行阶段可用。
比如:junit。由于运行时不需要所以 test范围依赖不会被打包。
5.system
stystem范围依赖与 provided 类似,但是你必须显式的提供一个对于本地系统中 JAR文件的路径,需要指定 systemPath 磁盘路径,system依赖不推荐使用。



























