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

相关推荐
所待.3833 分钟前
JavaEE之线程初阶(上)
java·java-ee
Winston Wood6 分钟前
Java线程池详解
java·线程池·多线程·性能
手握风云-11 分钟前
数据结构(Java版)第二期:包装类和泛型
java·开发语言·数据结构
喵叔哟30 分钟前
重构代码中引入外部方法和引入本地扩展的区别
java·开发语言·重构
尘浮生36 分钟前
Java项目实战II基于微信小程序的电影院买票选座系统(开发文档+数据库+源码)
java·开发语言·数据库·微信小程序·小程序·maven·intellij-idea
郑祎亦1 小时前
Spring Boot 项目 myblog 整理
spring boot·后端·java-ee·maven·mybatis
不是二师兄的八戒1 小时前
本地 PHP 和 Java 开发环境 Docker 化与配置开机自启
java·docker·php
爱编程的小生1 小时前
Easyexcel(2-文件读取)
java·excel
带多刺的玫瑰1 小时前
Leecode刷题C语言之统计不是特殊数字的数字数量
java·c语言·算法
计算机毕设指导62 小时前
基于 SpringBoot 的作业管理系统【附源码】
java·vue.js·spring boot·后端·mysql·spring·intellij-idea