Maven的概述及基本使用示例详解
一、Maven简介
- Apache Maven是一个项目管理和构建工具,它基于项目对象模型(POM)的概念,通过一小段描述信息来管理项目的构建、报告和文档
- 官网:http://maven.apache.org/
- 项目对象模型(Project Object Model)
- 依赖管理模型(Dependency)
- 插件(Plugin)
1.1、Maven概述
- Maven是专门用于管理和构建Java项目的工具,它的主要功能有:
- 提供了一套标准化的项目结构
- 提供了一套标准化的构建流程(编译、测试、打包、发布…)
- 提供了一套依赖管理机制
- 依赖管理:
- 依赖管理其实就是管理你项目所依赖的第三方资源(jar包、插件…)
- 1.下载jar包
- 2.复制jar包到项目
- 3.将jar包加入到工作环境
1.Maven使用标准的坐标配置来管理各种依赖2.只需要简单的配置就可以完成依赖管理
1.2、Maven仓库
- 仓库:用于存储资源,包含各种jar包
- 仓库分类:
- 本地仓库:自己电脑上存储资源的仓库,连接远程仓库获取资源
- 远程仓库:非本机电脑上的仓库,为本地仓库提供资源
- 中央仓库:Maven团队维护,存储所有资源的仓库
- 私服:部门/公司范围内存储资源的仓库,从中央仓库获取资源
- 私服的作用:
- 保存具有版权的资源,包含购买或自主研发的jar
- 中央仓库中的jar都是开源的,不能存储具有版权的资源
一定范围内共享资源,仅对内部开放,不对外共享
1.3项目获取jar包过程
- 假设有两个项目,项目1需要A这个jar包,,在项目1中写好配置后,Maven就会自动的到本地仓库中寻找是否有A这个jar包,如果没有,Maven就会自动地到中央仓库去找,在中央仓库找到了,此时Maven会自动地下载中央仓库里的A的jar包到本地仓库,这时项目1就引用了A这个jar包。
- 若项目2也要使用A这个jar包,项目2写好了配置后,Maven会自动地到本地仓库寻找,本地仓库已经有了A这个jar包,此时直接引用到项目2当中完成功能。
- 若存在远程仓库(私服)的情况下,项目2需要引用B这个jar包,Maven会现在本地仓库找,发现没有后回去私服找B这个jar包,若是没有的话,会到中央仓库,在中央仓库找到后Maven会下载B这个jar包到私服,然后传递给本地仓库,这时项目2就可以引用B的jar包了。
二、Maven使用
2.1Maven安装配置
- 1.解压安装包
apache-maven-3.9.1-bin.zip
即安装完成 - 2.配置环境变量
MAVEN_HOME
为安装路径的bin
目录 - 3.配置本地仓库:修改
conf/settings.xml
中的<localRepository>
为一个指定目录 - 4.配置阿里云私服:修改
conf/settings.xml
中的<mirros>
标签,为其添加如下标签:
<mirror> <id>alimaven</id> <name>aliyun maven</name> <url>http://maven.aliyun.com/nexus/content/groups/public/</url> <mirrorOd>central</mirrorOf> </mirror>
2.1.1配置环境变量
1.找到Maven的安装目录,复制路径
2.点击此电脑->属性:
3.点击高级系统设置
4.点击环境变量
5.点击系统变量的新建
6.变量名为MAVEN_HOME
,变量值为maven安装路径
7.点击系统变量中的Path,单击编辑
8.选择新建->确定
9.添加环境变量%MAVEN_HOME%/bin
添加完成
此时打开cmd窗口输入mvn -version
出现如下结果表示配置成功。
2.1.2配置本地仓库
1.找到Maven安装目录下的conf
文件夹,并单击settings.xml
文件
2.配置如下代码
<localRepository>D:\MyApp\Maven\apache-maven-3.9.1\mvn_resp</localRepository>
- 其中的路径是自己定义的我的是
D:\MyApp\Maven\apache-maven-3.9.1\mvn_resp
2.1.3配置阿里云私服
- 还是在Maven安装目录下的
conf
文件夹,并单击settings.xml
文件 - 在其中配置找到
<mirrors></mirrors>
标签并加上如下代码:
2.2Maven基本使用
2.2.1Maven常用指令
compile
:编译clean
:清理test
:测试package
:打包install
:安装
在pom.xml所在目录下按住
shift+右键
,选择在此处打开Powershell窗口
在窗口中输入
mvn compile
开始编译,最后在pom.xml所在目录下生成target文件,成功结果如下:
输入
mvn clean
表示删除target文件
输入mvn package 会把当前的项目打包:
同样的test是测试代码,这里就不做演示了。
2.2.2Maven生命周期
- Maven构建项目生命周期描述的是一次构建过程经历了多少个事件
- Maven对项目构建的生命周期划分为3套
- clean:清理工作
- default:核心工作,例如编译,测试,打包,安装等
- site:产生报告,发布站点等
- 同一生命周期内,执行后边的命令,前边的所有命令会自动执行
总结
到此这篇关于Maven的概述及基本使用的文章就介绍到这了,更多相关Maven基本使用内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Java异步线程中的CompletableFuture与@Async详解
这篇文章主要介绍了Java异步线程中的CompletableFuture与@Async详解,CompletableFuture是java中提供的一个异步执行类,@Async是Spring提供的异步执行方法,当调用方法单独开启一个线程进行调用,需要的朋友可以参考下2024-01-01解决springboot jpa @Column columnDefinition等属性失效问题
这篇文章主要介绍了解决springboot jpa @Column columnDefinition等属性失效问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-10-10完美解决IDEA Ctrl+Shift+f快捷键突然无效的问题
这篇文章主要介绍了完美解决IDEA Ctrl+Shift+f快捷键突然无效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2021-02-02springboot自动装配TypeNotPresentExceptionProxy异常排查解决
这篇文章主要为大家介绍了springboot自动装配TypeNotPresentExceptionProxy异常排查解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪2023-09-09
最新评论