Idea整合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.0SNAPSHOT:不稳定版-->
<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依赖不推荐使用。

  • 73
    点赞
  • 431
    收藏
    觉得还不错? 一键收藏
  • 18
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值