Maven的详细解读和配置

目录

一、Maven

[1.1 引言](#1.1 引言)

[1.2 介绍](#1.2 介绍)

[1.3 下载安装](#1.3 下载安装)

[1.3.1 解压](#1.3.1 解压)

[1.3.2 配置环境变量](#1.3.2 配置环境变量)

[1.3.3 测试](#1.3.3 测试)

[1.4 仓库[了解]](#1.4 仓库[了解])

[1.5 Maven配置](#1.5 Maven配置)

[1.5.1 修改仓库位置](#1.5.1 修改仓库位置)

[1.5.2 设置镜像](#1.5.2 设置镜像)

[二、IDEA - MAVEN](#二、IDEA - MAVEN)

[2.1 idea关联maven](#2.1 idea关联maven)

[2.2 为新项目设置](#2.2 为新项目设置)

[2.2 创建java项目[重点]](#2.2 创建java项目[重点])

[2.3 java项目结构](#2.3 java项目结构)

[2.4 pom](#2.4 pom)

[2.5 导入依赖](#2.5 导入依赖)

[2.5.1 查找依赖](#2.5.1 查找依赖)

[2.5.2 使用依赖](#2.5.2 使用依赖)

[2.6 测试](#2.6 测试)

[2.7 BUG处理](#2.7 BUG处理)

[2.8 经验总结](#2.8 经验总结)


一、Maven

1.1 引言

项目管理问题

项目中jar包资源越来越多,jar包的管理越来越沉重。

繁琐

要为每个项目手动导入所需的jar,需要搜集全部jar

复杂

项目中的jar如果需要版本升级,就需要再重新搜集jar

冗余

相同的jar在不同的项目中保存了多份

项目格式

没有统一

1.2 介绍

Maven这个单词来自于意第绪语(犹太语),意为知识的积累.

Maven是一个基于项目对象模型(POM)的概念的纯java开发的开源的项目管理工具 。主要用来管理java项目,进行依赖管理(jar包依赖管理)和项目构建(项目编译、打包、测试、部署)。此外还能分模块开发,提高开发效率。

1.3 下载安装

网址 Maven -- Download Apache Maven

下载地址 Index of /dist/maven/maven-3 (apache.org)

1.3.1 解压

特别注意: 路径不要有中文路径

复制代码
解压后有几个文件夹
- bin  运行maven命令的脚本
- boot 运行是需要类库
- conf 配置,有关于maven的配置文件
- lib  运行是需要的jar包

1.3.2 配置环境变量

系统变量-创建: MAVEN_HOME 值是maven安装路径

系统变量path添加 %MAVEN_HOME%\bin

1.3.3 测试

打开cmd,输入mvn -v

1.4 仓库[了解]

maven项目管理工具,管理依赖(jar包),实现依赖的复用.


maven有仓库,将依赖(jar包)放入仓库,每个项目都去复用

  • 本地仓库

    • 自己电脑上

    • 需要依赖的时候,会先从本地仓库中找,如果找不到就会去中央仓库找,下载到本地仓库,下次再用就可以从本地仓库找到使用

  • 中央仓库

    • 位于国外服务器,包含绝大部分依赖

    • 可能有时候访问比较慢

  • 公共仓库

    • 私服(个人)

    • 阿里云,网易,等等

1.5 Maven配置

1.5.1 修改仓库位置

maven安装好后,默认本地仓库在c盘,要修改为其他地方


修改maven的配置文件(conf\settings.xml)

<!-- 将53行注释内代码,复制出来,粘贴到55行,修改路径为自己本地仓库位置 -->
 <localRepository>D:\repository</localRepository>

ps: 记得保存,ctrl+s

1.5.2 设置镜像

依赖会先从本地仓库找,本地没有会从中央仓库下载到本地仓库,中央仓库访问很慢,所以需要设置国内镜像,访问就很快!

<!--setting.xml中添加如下配置 146行附近
 一定是在开闭标签 <mirrors> </mirrors>中间设置
-->
 <mirror>
     <id>aliyun</id>  
     <!-- 中心仓库的 mirror(镜像) -->
     <mirrorOf>central</mirrorOf>    
     <name>Nexus aliyun</name>
     <!-- aliyun仓库地址 以后所有要指向中心仓库的请求,都会指向aliyun仓库-->   
     <url>http://maven.aliyun.com/nexus/content/groups/public</url>  
 </mirror>

二、IDEA - MAVEN

2.1 idea关联maven

  • 打开任何一个idea项目

  • file - setting for new project

找到build

2.2 为新项目设置

因为上面的设置只是对当前项目生效,需要对后续每个项目都生效!!需要再设置

2.2 创建java项目[重点]

  1. 找到maven选项
  1. 设置信息

2.3 java项目结构

复制代码
|-项目名
|---src
|------main
|---------java
|---------resources
|------test
|---------java
|---------resources
|---pom.xml

2.4 pom

pom 项目对象模型(project object model),这是一个xml文件(ps: xml文件一种文件格式,类似HTML是标签形式的)

pom文件内定义

  • 项目信息

    • 项目名

    • 组织名

    • 版本

    • 打包方式

      • 默认是jar , 普通java项目

      • 可以指定为war, 即web项目

  • 项目依赖

    • 依赖就是jar包

    • 是以坐标的形式展现

  • 构建工具

复制代码
   
 <!--  项目信息--> 
    <groupId>com.qf</groupId>
    <artifactId>day18_java</artifactId>
    <version>1.0-SNAPSHOT</version>
    <!-- 打包方式 ,默认是jar,如果是javaweb项目,打包方式是war-->
    <packaging>jar</packaging>
<!-- 定义依赖(jar包) -->
    <dependencies>
        <!-- 具体的jar包依赖坐标 -->
<!--        <dependency>-->
<!--            <groupId></groupId>-->
<!--            <artifactId></artifactId>-->
<!--            <version></version>-->
<!--        </dependency>-->
    </dependencies>

2.5 导入依赖

2.5.1 查找依赖

官方提供一中央仓库网站,网站中有所有jar包的依赖信息,就可以搜索依赖

Maven Repository: Search/Browse/Explore (mvnrepository.com)

2.5.2 使用依赖

将复制的依赖坐标,粘贴到pom文件

    <!-- 依赖,就是jar包 -->
    <dependencies> 
        <dependency>
            <groupId>cn.hutool</groupId>
            <artifactId>hutool-all</artifactId>
            <version>5.8.16</version>
        </dependency>
    </dependencies>

还可以进入仓库中去查看,是否下载成功

2.6 测试

java 复制代码
public class Test {
    public static void main(String[] args) {
​
        FileUtil.del("E:\\IDEA-WorkSpace\\test_maven\\a.txt");
​
        System.out.println("over" );
        // 能执行就说明maven导入hutool成功
    }
}

2.7 BUG处理

如果依赖赋值粘贴后有红色报错,刷新maven

jar包的话就在子模块导入依赖即可

2.8 经验总结

  • 当你发现下方进度条一直在走,感觉走不完,,,, 一般情况镜像出问题

    • 此时需要打开idea的settings确定一下maven安装路径和settings配置文件是否是自己的

    • 改成自己的路径后,刷新maven

  • 使用maven,一般就是注意

    • 会创建maven项目(注意gav坐标)

    • 注意代码位置(src/main/java)

    • 注意pom.xml,会引入依赖(会查依赖)

      • 导入依赖后记得刷新maven让其下载依赖
相关推荐
儿时可乖了15 分钟前
使用 Java 操作 SQLite 数据库
java·数据库·sqlite
ruleslol17 分钟前
java基础概念37:正则表达式2-爬虫
java
xmh-sxh-131433 分钟前
jdk各个版本介绍
java
天天扭码1 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
程序猿进阶1 小时前
堆外内存泄露排查经历
java·jvm·后端·面试·性能优化·oom·内存泄露
FIN技术铺1 小时前
Spring Boot框架Starter组件整理
java·spring boot·后端
小曲程序1 小时前
vue3 封装request请求
java·前端·typescript·vue
陈王卜1 小时前
django+boostrap实现发布博客权限控制
java·前端·django
小码的头发丝、1 小时前
Spring Boot 注解
java·spring boot