Maven
Maven
Maven概述
Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
-
提供了一套标准化的项目结构
1.1 不同的IDE之间,项目结构不一样,不通用
1.2 Maven提供了一套标准化的项目结构,所有IDE使用Maven构建的项目结构完全一样,所有IDE创建的Maven项目可以通用
1.3 项目结构
项目名称
src
main 源代码
java 源代码java文件目录
resources 源代码配置文件目录
webapp Web项目核心目录
test 测试代码目录
java 测试代码java文件目录
resources 测试代码配置文件目录
pom.xml 项目核心配置文件
-
提供了一套标准化的构建流程(编译,测试,打包,发布)
2.1 Maven提供了一套简单的命令来完成项目创建
-
提供了一套依赖管理机制
3.1 依赖管理就是管理项目所依赖的第三方资源
3.2 Maven使用标准的坐标配置来管理各种依赖
3.3 只需要简单的配置就可以完成依赖管理
Maven简介
Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
Maven 模型
-
项目对象模型 Project Object Model
-
依赖管理模型 Dependency
-
插件 Plugin
Maven 仓库
-
本地仓库 Local Repository 自己计算机上的一个目录
-
中央仓库 Central Repository 由Maven团队维护的全球唯一的仓库,
-
远程仓库(私服) Remote Repository 一般由公司团队搭建的私有仓库
项目中使用坐标引入对应依赖jar包,首先会查找本地仓库中是否由对应的jar包
-
如果有,则在项目直接引用
-
如果没有,则取中央仓库中下载对应的jar包到本地仓库
还可以搭建远程仓库,将来jar包的查找顺序变为
-
本地仓库 --> 远程仓库 --> 中央仓库
-
搭建远程仓库时一般会将中央仓库中所有的jar包进行下载操作
Maven安装
-
解压安装包即安装完成
-
配置环境变量 MAVEN_HOME 为安装路径的bin目录
-
配置本地仓库:修改conf/settings.xml中的<localRepository>为一个指定目录
-
配置阿里云私服:修改conf/settings.xml中的<mirrors>标签,为其添加如下子标签
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/group/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
Maven的基本使用
Maven常用命令
-
compile:编译
-
clean:清理
-
test:测试
-
package:打包
-
install:安装
Maven生命周期
Maven构建项目生命周期描述的是一次构建过程经历了多少个事件
Maven对项目构建的生命周期划分为三套
-
clean:清理工作
-
default:核心工作,编译,测试,打包,安装等
-
site:产生报告,发布站点等
同一生命周期内,执行后面的命令,前面所有命令会自动执行
IDEA配置Maven
IDEA配置Maven环境
-
选中IDEA中File --> Settings
-
搜索maven
-
设置IDEA使用本地安装的Maven,并修改配置文件路径
-
Maven文件目录
-
settings.xml
-
-
Maven 坐标详解
-
什么是坐标?
-
Maven中的坐标是资源的唯一标识
-
使用坐标来定义项目或引入项目中需要的依赖
-
-
Maven坐标的主要组成
-
groupId:定义当前Maven项目隶属组织名称,通常是域名反写
-
artifactId:定义当前Maven项目名称,通常是块名称
-
version:定义当前项目版本号
<groupId>com.itheima</groupId>
<artifactId>maven-demo</artifactId>
<version>1.0-SNAPSOT</version>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.46</version>
</dependency> -
IDEA创建Maven项目
-
创建模块,选择Maven,点击Next
-
填写模块名称,坐标信息,点击finsh,创建完成
-
编写HelloWorld,并运行
IDEA导入Maven项目
-
选择右侧Maven面板,点击+号
-
选中对应项目的pom.xml文件,双击即可
-
如果没有Maven面板,选中View-->Appearance-->Tool Window Bars
-
Maven Helper File --> Settings --> Plugins --> Marketplace --> 搜索 --> install --> ...
依赖管理
-
在pom.xml中编写<dependencies>标签
-
在<dependencies>标签中使用<dependency>引入坐标
-
定义坐标的 groupId、artifactId、version
-
点击刷新按钮,使坐标生效
-
可配置自动生效
-
本地仓库已存在的jar包可通过alt+insert选中dependency搜索对应坐标,双击选中对那个坐标
依赖范围
-
通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围:编译环境、测试环境、运行环境
-
依赖范围 编译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 -
<scope>默认值:compile
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY