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文件中修改镜像配置,找到</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 设置将会作用于所有新建项目
在这里插入图片描述
②第二步: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(工程名)

<!--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
在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

选择后,将下列代码复制进pom.xml文件
在这里插入图片描述
⑤复制到pom里面,点击更新会自动下载
在这里插入图片描述
依赖传递
如果当前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的插件使用

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

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依赖不推荐使用。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/7290.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

目标检测mAP

概述 AP (Average precision) is a popular metric in measuring the accuracy of object detectors like Faster R-CNN, SSD, etc. Average precision computes the average precision value for recall value over 0 to 1. It sounds complicated but actually pretty simple…

基于Java+SpringBoot+Vue前后端分离摄影分享网站平台系统

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…

【雕爷学编程】Arduino动手做(131)---跑马灯矩阵键盘模块

37款传感器与执行器的提法&#xff0c;在网络上广泛流传&#xff0c;其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块&#xff0c;依照实践出真知&#xff08;一定要动手做&#xff09;的理念&#xff0c;以学习和交流为目的&am…

【uniapp开发小程序】实现粘贴一段文字后,自动识别到姓名/手机号/收货地址

一、需求 在uni-app中开发小程序&#xff0c;实现粘贴一段文字后自动识别到手机号&#xff0c;并将手机号前面的内容作为姓名&#xff0c;手机号后面的内容作为收货地址&#xff0c;并去除其中的特殊字符和前缀标识。 实现效果&#xff1a; 二、实现方式&#xff1a; <…

154个Bug!

持续测试了一个月的H5项目&#xff0c;终于迎来了上线日&#xff0c;在测试H5的过程中&#xff0c;遇到了一些坑&#xff0c;积累了些许经验&#xff0c;想着分享一下&#xff0c;希望对大家有所启发。 主要从以下一个方面展开&#xff1a; 一、项目背景 二、测试环境准备 三…

Ubuntu系统安装JDK教程

今天新买了一台阿里云服务器&#xff0c;因为centos 不提供了更新支持&#xff0c;所以Linux系统选择了Ubuntu 系统&#xff0c;今天就出一期 Ubuntu上安装的一系列教程&#xff0c;今天就先从JDK开始。 Ubuntu系统安装JDK教程 1、 jdk下载2、安装 lrzsz 命令 &#xff08;仅限…

【Cache】Squid代理服务器应用

文章目录 一、Squid 服务器的概念1. 代理服务器概述CDN 服务器 2. 代理的工作机制3. Squid 服务器的作用4. Squid 代理的类型 二、部署 Squid 服务器1. 安装 Squid 服务1.1 编译安装 Squid1.2 修改 Squid 的配置文件1.3 Squid 的运行控制1.4 创建 Squid 服务脚本1.5 supervisor…

均方误差,交叉熵损失函数举例计算

目录 Classification Error&#xff08;分类错误率&#xff09; Mean Squared Error (均方误差) 交叉熵损失函数 我们希望根据图片动物的轮廓、颜色等特征&#xff0c;来预测动物的类别&#xff0c;有三种可预测类别&#xff1a;猫、狗、猪。假设我们当前有两个模型&#xff0…

Appium: Windows系统桌面应用自动化测试(一)

Appium: Windows系统桌面应用自动化测试 一、方案调研二、环境搭建1、WinAppDriver环境搭建&#xff08;1&#xff09;开启开发者选项中的“开发人员模式”&#xff08;2&#xff09;windows sdk下载安装&#xff08;3&#xff09;WinAppDriver下载安装 2、appium环境搭建&…

开发者活动:云原生的开源 AI 大模型基础设施

随着 ChatGPT 的火热&#xff0c;大语言模型和相关应用不断涌现。你是否了解大语言模型的技术细节&#xff1f;你是否曾经开发过大语言模型应用&#xff1f;如果你对大语言模型背后的基础设施感兴趣&#xff0c;那么7月8号&#xff0c;北京海淀中关村创业大街&#xff0c;云原生…

Jmeter接口测试参数化详解

目录 前言&#xff1a; RandomString函数 CSVRead函数 CSV Data Set Config配置元件 前言&#xff1a; 在进行接口测试时&#xff0c;参数化是一项重要的技术&#xff0c;可以帮助测试人员有效地模拟不同的场景和数据&#xff0c;增加测试用例的覆盖范围。JMeter提供了多种…

十七、docker学习-docker-compose安装nginx反向代理

compose安装nginx反向代理 IDEA安装docker插件 idea安装docker插件。Dockerfile、docker-compose.yml文件大部分内容会有提示信息。方便开发人员编写配置文件。 https://plugins.jetbrains.com/plugin/7724-docker/versions基础镜像 docker pull 1.21.0-alpine docker pull…