Maven的详细讲解

  • 博客主页:音符犹如代码
  • 系列专栏:JavaWeb
  • 关注博主,后期持续更新系列文章
  • 如果有错误感谢请大家批评指出,及时修改
  • 感谢大家点赞👍收藏⭐评论✍

什么是Maven?

Maven是apache旗下的一个开源项目,是一款用于管理和构建java项目的工具。

Apache软件基金会正式创建于1999年7月,它的创建者是一个自称为"Apache组织"的群体。这个"Apache组织"在1999年以前就已经存在很长时间了,这个组织的开发爱好者们聚集在一起,在美国伊利诺伊斯大学国家超级计算机应用程序中心(National Center for Supercomputing Applications,简称为NCSA)开发的NCSA HTTPd服务器的基础上开发与维护了一个叫Apache的HTTP服务器

开源项目:Apache Projects List

Maven的模型和仓库

Maven的作用

1.项目的依赖管理

他可以帮我们管理和下载需要的jar包,这样可以方便快捷,不需要我们去官网上把需要项目用到的jar包下载出来,并且可以在pom.xml中<version></version>任意更改项目版本,更改后刷新maven即可。

2.统一的项目结构

3.部署项目

标准跨平台(Linux、Windows、MacOS)的项目构建,在eclipse和idea中都可以使用maven来构建部署项目

clean可以清除class文件,compile可以把Java代码编译成class文件,打包可以用package。

Maven的文件

bin------maven的指令,conf------maven的配置文件,lib------maven的jar包

可以创建自己的本地仓库如图中我的文件夹(mvn_repo)在conf/setting.xml中找到<localRepository>本地磁盘路径+自己创建的文件夹名字(mvn_repo)</localRepository>

Maven仓库更改

在pom.xml中加入

复制代码
<repositories>
		<repository>
			<id>maven-aliyun</id>
			<url>https://maven.aliyun.com/repository/public</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</repository>
	</repositories>

	<pluginRepositories>
		<pluginRepository>
			<id>maven-aliyun</id>
			<url>https://maven.aliyun.com/repository/public</url>
			<releases>
				<enabled>true</enabled>
			</releases>
			<snapshots>
				<enabled>false</enabled>
			</snapshots>
		</pluginRepository>
	</pluginRepositories>

也可以选择使用阿里云的私服地址在文件setting.xml中更改

配置Maven的环境变量

1.先新建一个MAVEN_HOME的变量

2.在path中加入环境变量

如此以来我们可以在任何的目录下都能运行maven的指令

测试Maven

mvn -v

相关推荐
陈小桔14 分钟前
限流算法java实现
java
黑客老李18 分钟前
JavaSec | SpringAOP 链学习分析
java·运维·服务器·开发语言·学习·apache·memcached
勤奋的知更鸟44 分钟前
Java编程之原型模式
java·开发语言·原型模式
叶 落1 小时前
[Java 基础]数组
java·java 基础
KK溜了溜了1 小时前
JAVA-springboot log日志
java·spring boot·logback
珂朵莉MM1 小时前
2021 RoboCom 世界机器人开发者大赛-高职组(初赛)解题报告 | 珂学家
java·开发语言·人工智能·算法·职场和发展·机器人
香蕉炒肉1 小时前
Java优化:双重for循环
java·开发语言
黄雪超2 小时前
JVM——打开JVM后门的钥匙:反射机制
java·开发语言·jvm
有梦想的攻城狮2 小时前
spring中的@RabbitListener注解详解
java·后端·spring·rabbitlistener
李斯维2 小时前
循序渐进 Android Binder(二):传递自定义对象和 AIDL 回调
android·java·android studio