maven

Maven是一个项目管理和构建工具,标准化项目结构和流程,提供依赖管理。它通过POM配置管理jar包,从本地仓库、中央仓库或远程仓库下载。文章介绍了Maven的安装配置、常用命令,以及如何在IDEA中整合和创建Maven项目。此外,还涉及到了依赖冲突的解决和环境修改。
摘要由CSDN通过智能技术生成

目录

一、为什么需要使用maven

二、maven的概述

1. 标准化的项目结构 

2.  标准化的项目流程​编辑

3.  依赖管理机制

三、maven下载jar包原理

1. maven模型

2. maven原理

四、 maven环境的安装与配置

五、maven常用命令与生命周期

1. maven常用命

2. maven的生命周期

 六、idea整合maven项目

1. 选择 IDEA中 File --> Settings

 2. 搜索 maven

 3. 设置 IDEA 使用本地安装的 Maven,并修改配置文件路径

七、IDEA 创建 Maven 项目

1. 创建模块,选择Maven,点击Next

 2. 填写模块名称,坐标信息,点击finish,创建完成

 3. maven工程导入项目依赖的jar包

  (1) 导入jar包的几种方式

(2) maven依赖范围

 八、Maven 坐标配置详解

1. 什么是坐标?

 2. Maven 坐标主要组成

九、maven工程项目依赖的jar包冲突

十、 maven工程运行环境修改

十一、配置 Maven-Helper 插件

1. 选择 IDEA中 File --> Settings

 2. 选择 Plugins

 4. 重启 IDEA


一、为什么需要使用maven

         如今我们构建一个项目需要用到很多第三方的类库 ,例如我们在开发项目中 需要引入

这些依赖jar包

        一个项目Jar包的数量之多往往让我们瞠目结舌,并且Jar包之间的关系非常复杂,一个Jar包往往又会引用其他Jar包,缺少任何一个Jar包都会导致项目编译失败。

二、maven的概述

 Apache Maven:

      是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档

       官网:http://maven.apache.org/

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

     (1)提供了一套标准化的项目结构
     (2)提供了一套标准化的构建流程(编译,测试,打包,发布……)
     (3)提供了一套依赖管理机制
 

1. 标准化的项目结构 

Maven规定的统一的目录结构

maven项目标准目录结构:

 maven的java工程:
  src/main/java目录  核心代码部分
  src/main/resources  配置文件部分
  src/test/java目录  测试代码部分
  src/test/resources  测试配置文件

 maven的web工程:
  src/main/webapp 页面资源,js,css,图片等等

main---- 主项目

java-------java代码

resources

test

java-------测试java代码

resources

pom.xml -----核心 例如 当前项目依赖的jar包

2.  标准化的项目流程

1.清理,把之前项目编译的东西删除掉,为新的编译代码做准备。
2.编译,把程序源代码编译为执行代码,java-class文件
        批量的,maven可以同时把成千上百的文件编译为class
        javac不一样,javac一次编译一个文件。
3.测试:maven可以执行测试程序代码,验证你的功能是都正确。
        批量的,maven可以同时执行多个测试代码,同时测试很多功能。
4.报告,生成的测试结果的文件,测试通过没有。
5.打包,把你的项目中所有的class文件,配置文件等所有资源放到一个压缩文件中。
       这个压缩文件就是项目的结果文件,通常java程序压缩文件是jar扩展名的。
        对于web应用, 压缩文件扩展名是.war。
6.安装,把5中生成的文件jar,war安装到本地仓库
7.部署,把程序安装好可以执行

3.  依赖管理机制

       Maven就是一款帮助程序员构建项目的工具,我们只需要告诉Maven需要哪些Jar 包,它会帮助我们下载所有的Jar,极大提升开发效率

三、maven下载jar包原理

1. maven模型

仓库分类:
        本地仓库:自己计算机上的一个目录

        中央仓库:由Maven团队维护的全球唯一的仓库
                 地址:https://repo1.maven.org/maven2/

        远程仓库(私服):一般由公司团队搭建的私有仓库
仓库-----缓存我们的jar包

使用maven统一管理维护我们项目中所有的jar包

2. maven原理

1.当前我们的项目会引入jar包,先去maven本地仓库中查找该jar包,
  如果maven本地仓库中有该jar包则直接使用maven本地仓库中的jar包。

2.如果maven本地仓库中没有该jar包,则会maven中央仓库中下载该jar包,
  再缓存到我们maven本地仓库中。

3.如果去maven中央仓库下载jar包 速度可能会非常慢
  maven本地仓库→maven私服→maven中央仓库

  本地仓库适合于: 在同一台计算机电脑上 多个不同的项目 共享同一个本地仓库 

  maven私服适合于: 多个不同的开发 共享使用同一个maven私服仓库

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.mayikt</groupId>
    <artifactId>mayikt-web</artifactId>
    <version>1.0-SNAPSHOT</version>

    <dependencies>
        <!--servlet 自动去远程仓库下载jar ,在缓存到本地仓库中-->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>5.0.0</version>
        </dependency>
    </dependencies>

</project>

四、 maven环境的安装与配置

1. 第一步:下载Maven的安装包(Maven – Download Apache Maven

2. 第二步: 解压apache-maven-3.6.1-bin.zip这个文件

3. 第三步:进入我的电脑-->右击属性-->高级设置-->点击环境变量

              添加MAVEN_HOME的变量名 为 maven安装路径

              MAVEN_HOME=D:\path\maven\apache-maven-3.6.1

4. 第四步:进入Path,添加%MAVEN_HOME%\bin

5. 第五步:检查自己的maven是否配置成功

              按下win+r 并输入cmd 进入命令行模式。

              在命令行模式输入 mvn -version;

6. 第六步:配置本地仓库:修改 conf/settings.xml 中的 <localRepository> 为一个指定目录

              idea 默认已经帮助整合了一个maven 

自己配置本地仓库:settings.xml 指定maven本地仓库目录

<localRepository>D:\maven\mvnRespo</localRepository>

7. 第七步:配置阿里云私服:修改 conf/settings.xml 中的 <mirrors>标签,为其添加如下子标签:

<mirror>  
   <id>alimaven</id>  
   <name>aliyun maven</name>  
   <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
   <mirrorOf>central</mirrorOf>          
</mirror>

五、maven常用命令与生命周期

1. maven常用命

命令	描述
mvn clean	对项目进行清理,删除target目录下编译的内容
mvn compile	编译项目源代码
mvn test	对项目进行运行测试
mvn package	打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件
mvn install	在本地仓库生成仓库的安装包,供其他项目引用,打包后的文件放到项目的target目录下

2. maven的生命周期

同一生命周期内,执行后边的命令,前边的所有命令会自动执行

 六、idea整合maven项目

1. 选择 IDEA中 File --> Settings

 2. 搜索 maven

 3. 设置 IDEA 使用本地安装的 Maven,并修改配置文件路径

 

七、IDEA 创建 Maven 项目

1. 创建模块,选择Maven,点击Next

 2. 填写模块名称,坐标信息,点击finish,创建完成

 3. maven工程导入项目依赖的jar包

(1) 导入jar包的几种方式

   <dependencies>
        <!--servlet 自动去远程仓库下载jar ,在缓存到本地仓库中-->
        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
            <version>5.0.0</version>
        </dependency>
    </dependencies>

(2) maven依赖范围

             通过设置坐标的依赖范围(scope),可以设置 对应jar包的作用范围:编译环境、测试环境、运行环境

             <scope>默认值:compile

依赖范围

编译classpath

测试classpath

运行classpath

例子

compile

Y

Y

Y

logback

test

-

Y

-

Junit

provided

Y

Y

-

servlet-api

runtime

-

Y

Y

jdbc驱动

system

Y

Y

-

存储在本地的jar包

import

引入DependencyManagement

 八、Maven 坐标配置详解

1. 什么是坐标?

       Maven 中的坐标是资源的唯一标识

       使用坐标来定义项目或引入项目中需要的依赖

 2. Maven 坐标主要组成

             groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)

             artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)

              version:定义当前项目版本号


    <groupId>com.mayi</groupId>
    <artifactId>maven-web</artifactId>
    <version>1.0-SNAPSHOT</version>
 <!--mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.37</version>
        </dependency>

九、maven工程项目依赖的jar包冲突

jar包冲突:maven 一键构建将不再使用本地安装的tomcat,而是使用maven自身集成的tomcat插件对项目进行构建,我们自己导入的jar包和tomcat中的包就会发生冲突,(如果不导入jar包,则编译不通过。导入了jar包又发生冲突)

jar包冲突解决:对导入的有冲突的jar包设置作用域,让其只在项目编译阶段起作用,运行阶段则使用tomcat插件中的jar包(maven_web.iml中给jar包依赖添加scope标签)

十、 maven工程运行环境修改

maven集成的tomcat的版本是Tomcat6,假如需要使用tomcat7,则需要重新修改配置maven插件

十一、配置 Maven-Helper 插件

1. 选择 IDEA中 File --> Settings

 2. 选择 Plugins

 3. 搜索 Maven,选择第一个 Maven Helper,点击Install安装,弹出面板中点击Accept

 4. 重启 IDEA

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值