idea中使用Maven创建项目

一.概述

Maven是一款用于管理和构建java项目的工具,是apache旗下的一个开源项目,它基于对象模型的概念,通过一小段描述信息来管理项目的构建

二.作用

1.方便快捷的管理依赖的资源(也就是第三方的jar包)

2.标准化的项目流程(编译,打包,测试,发布)

3.统一的项目结构(不同的开发工具目录不同,无法实现直接转移,Maven解决了这个问题)

三.名词解释

1.仓库

用于存储资源,管理各种jar包

本地仓库:本地文件夹

远程仓库:通常指国内公司提供的服务器(下载速度快)

中央仓库:Maven官方提供的仓库,里面存放着各资源

优先级/下载速度:本地仓库>远程仓库(私服,中央镜像仓库)>中央仓库(Maven官方仓库)

2.坐标

Maven官方,把常用的jar包收集起来,每一个都有自己唯一的坐标

在pom.xml文件中设置坐标,Maven会自动下载

Maven给每个jar定义了唯一的标志,这个在Maven中叫做项目的坐标

1.groupId:jar包 第一级目录

2.artifactId:jar包 第二级目录

3.packaging:包格式(.jar/.war) 默认,不显示

4.version:jar包 版本号

四.安装Maven

1.首先去Maven官方下载Maven安装包,找到你要下载的版本

Welcome to Apache Maven -- Maven

2.配置环境变量

在设置的环境变量中找到系统变量,点击添加,将jdk添加到系统变量中

3.在path中添加Maven文件

4.检测环境变量是否配置成功

打开终端,输入mvn -Version,如果显示没有mvn这个指令就是配置失败,配置成功显示如下

5.给Maven配置本地仓库

首先在随便一个盘中创建一个localRepository文件夹(推荐和Maven在同一个盘中创建,否则可能会常出现文件访问权限问题导致配置失败)

找到Maven文件夹下的conf文件下的settings.xml文件打开,这里建议先将settings.xml文件复制一份,防止将文件污染,重新下载

6.配置国内仓库镜像

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

这里设置的是阿里云的

五.在idea中创建第一个Maven项目

3.idea中设置Maven

点击File

点击Setting for new project,设置本地仓库位置,Maven位置,和settings.xml

配置之后重启idea,以后创建Maven项目都会按照这个配置

2.New Project

3.目录解释

4.在Maven项目中下载资源

在Maven项目中打开pom.xml文件,在<dependencies>标签中加入资源坐标,Maven会现在本地仓库中搜索,没有的话会去镜像仓库下载对应的资源

java 复制代码
<dependencies>
        <!-- mysql -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.16</version>
        </dependency>
        <!-- 坐标:https://mvnrepository.com/artifact/org.mybatis/mybatis -->
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis</artifactId>
            <version>3.5.6</version>
        </dependency>
</dependencies>
相关推荐
独泪了无痕9 小时前
探索Pinyin4j-Java中的拼音转换利器
java·后端
道尔柯南10 小时前
C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理
android·java·c++
kingx311 小时前
Bugku 3122 谷歌小恐龙题解:纯离线逆向 Vault 的 AES-GCM 加密资源(附 Python 解密器)
java·逆向·ctf·bugku·aes-gcm
DevOpenClub14 小时前
职教高考控制线 API:招生类别枚举、筛选与空分数含义
java·数据库·高考
露天赏雪15 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel
天天被压力15 小时前
【A股分钟级高频数据完全手册 #06】北交所分钟级数据接口:京市股票Pro版最新分时
java·人工智能·python
天天被压力15 小时前
【A股分钟级高频数据完全手册 #05】指数历史分钟数据接口:Pro版沪深指数分时回放
java·人工智能·python
captain37615 小时前
▲统一功能——DispatcherServlet源码分析
java·spring·java-ee·log4j·maven
金銀銅鐵15 小时前
JDK 21 中 List.of 的实现细节:从 List12 到 ListN
java·后端·ai编程
yeccheng17 小时前
MySQL 索引超详解:从底层 B+ 树到面试高频考点
java·开发语言·jvm·mysql·面试