Idea整合Maven安装及配置教程(图文详解)

Idea整合Maven安装及配置教程(图文详解),第1张

友情提醒

先看文章目录,大致了解知识点结构,直接点击文章目录可以跳转到文章指定位置。

第一章、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
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第2张
选择需要的版本,这里选择3.5.3版本
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第3张

选择binaries
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第4张

下载,然后解压到安装目录就安装成功了,注意:解压好了就是安装好了
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第5张

2.2)Maven环境变量配置

①环境变量配置
右击桌面的“此电脑”图标>点击属性”>点击高级系统设置>环境变量>
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第6张
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第7张
②配置到系统环境变量path
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第8张
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第9张

2.3)Maven文件setting的配置

①文件结构,进入conf,点击setting文件
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第10张
②设置本地仓库:在本地磁盘中创建一个repository文件夹,我在D盘创的
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第11张
③在settings.xml文件中找到仓库配置,修改路径为刚刚创建的repository文件夹路径
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第12张
④settings.xml中的插件配置
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第13张
⑤settings.xml文件中修改镜像配置,找到</mirrors>标签,加入代码即可

<!-- maven的中央仓库是在Apache的国外网站,下载效率低 使用阿里镜像文件提高maven工程的构建和jar包的引入速度 --> <mirrors> <!-- 阿里镜像 --> <mirror> <id>alimaven</id> <mirrorOf>central</mirrorOf> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/repositories/central/</url> </mirror> <mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>central</id> <name>Maven Repository Switchboard</name> <url>http://repo1.maven.org/maven2/</url> <mirrorOf>central</mirrorOf> </mirror> <mirror> <id>repo2</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://repo2.maven.org/maven2/</url> </mirror> <mirror> <id>ibiblio</id> <mirrorOf>central</mirrorOf> <name>Human Readable Name for this Mirror.</name> <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url> </mirror> <mirror> <id>jboss-public-repository-group</id> <mirrorOf>central</mirrorOf> <name>JBoss Public Repository Group</name> <url>http://repository.jboss.org/nexus/content/groups/public</url> </mirror> <mirror> <id>google-maven-central</id> <name>Google Maven Central</name> <url>https://maven-central.storage.googleapis.com </url> <mirrorOf>central</mirrorOf> </mirror> <!-- 中央仓库在中国的镜像 --> <mirror> <id>maven.net.cn</id> <name>oneof the central mirrors in china</name> <url>http://maven.net.cn/content/groups/public/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors>

第三章、Idea整合Maven

3.1)Idea配置Maven

①第一步设置:File>Other Settings>settings for New Projects 设置将会作用于所有新建项目
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第14张
②第二步:File>Other Settings>build,Execution,Deployment>Build Tools>Maven设置文件路径仓库路径
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第15张

3.2)新建Maven项目

①第一步:创建工程New project>Maven>勾选Creat from archetype>选择Maven web工程。点击next下一步
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第16张

②第二步:填好工程三要素:包名,工程名,版本。点击next下一步
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第17张

③第三步:确定路径有没有错,没错直接下一步,然后finish
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第18张

3.3)低版本的Idea可能出现文件缺省

①Maven的web工程会出现文件缺省,需要我们手动补齐File>project Structure>选择工程,补全工程结构
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第19张
②Webapp没有标识时需要手动引入web属性
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第20张
③设置路径信息
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第21张

第四章、pom.xml文件配置

4.1)pom文件三要素

建好Maven工程后,文件列表中会看到pom.xml文件
配置文件通过三要素来锁定一个工程:
①version(版本号)
②groupId(包名)
③artifactId(工程名)

<!--maven的版本号,目前3.0以上的maven工具,生成的都是4.0版本的模型--> <modelVersion>4.0.0</modelVersion><!--包名全小写,域名倒写例如 com.Java或者域名倒写+项目名。例如 com.Java.test--> <groupId>com.java</groupId><!--工程名--> <artifactId>maven002</artifactId><!--工程版本号,版本号都是3位是1.0.0,SNAPSHOT:不稳定版--> <version>1.0-SNAPSHOT</version><!--工程打包方式,可以 jar、war、rar、ear、pom,默认是 jar--> <packaging>war</packaging>

4.2)pom文件中JDK资源配置

配置为1.8

<!--全局属性的配置--> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>

4.3)pom文件中配置依赖管理

Maven可以根据三要素把需要的jar包依赖从本地仓库引入,并添加到war包中。
如果本地仓库没有,则去远程仓库下载到本地仓库。
从网站查询到需要引入的jar包三要素:Maven的jar包网站:https://mvnrepository.com/

我们想要导入mysql的依赖jar包,先进入网站查询MySQL
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第22张

找到相关的jar包,点击进入选择版本

Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第23张

如果不太熟悉的话,可以选择使用量较多的版本

Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第24张

选择后,将下列代码复制进pom.xml文件
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第25张
⑤复制到pom里面,点击更新会自动下载
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第26张
依赖传递
如果当前jar包还需要依赖其他jar包,则maven也会帮助我们直接引入,且自动适应版本号

<!--此处只需要引入commons-fileupload.jar需要依赖的commons-io.jar会被自动引入--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.3</version> </dependency>

4.4)pom文件中build标签进行插件和资源管理

一般我们配置扫描资源文件就好了,插件不需要我们配置

<build> <!--扫描文件资源--> <resources> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources> <!--插件--> <pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) --> <plugins> <!-- clean lifecycle, see https://maven.apache.org/ref/current /maven-core/lifecycles.html#clean_Lifecycle --> <plugin> <artifactId>maven-clean-plugin</artifactId> <version>3.1.0</version> </plugin> <!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default- bindings.html#Plugin_bindings_for_jar_packaging --> <plugin> <artifactId>maven-resources-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> </plugin> <plugin> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>3.0.2</version> </plugin> <plugin> <artifactId>maven-install-plugin</artifactId> <version>2.5.2</version> </plugin> <plugin> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> </plugin> <!-- site lifecycle, see https://maven.apache.org/ref/current/ maven-core/lifecycles.html#site_Lifecycle --> <plugin> <artifactId>maven-site-plugin</artifactId> <version>3.7.1</version> </plugin> <plugin> <artifactId>maven-project-info-reports-plugin</artifactId> <version>3.0.0</version> </plugin> </plugins> </pluginManagement> </build>

第五章、Maven的生命周期

5.1)Maven的插件使用

①构建项目时按照生命周期顺序构建,每一个阶段都有特定的插件来完成
②不论现在要执行生命周期中的哪个阶段,都是从这个生命周期的最初阶段开始的。
③清理 --> 编译 --> 测试 --> 打包 --> 安装,每一个步骤都会把前面的步骤再执行一遍。
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第27张
Idea整合Maven安装及配置教程(图文详解),在这里插入图片描述,第28张

5.2)Maven依赖的生命周期

依赖范围编译classpath有效测试classpath有效运行classpath有效例子
compilespring-core
testJunit
providedservlet-api
runtimeJDBC驱动
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依赖不推荐使用。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/13518572.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2024-02-05

发表评论

登录后才能评论

评论列表(0条)

保存