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

相关推荐
喜欢打篮球的普通人7 小时前
LLVM后端指令选择
android·java·javascript
某不知名網友8 小时前
C++ 七大排序算法完整讲解
java·算法·排序算法
CodeStats8 小时前
《源纹天书》第一百六十一章至第一百六十五章:开源化宣言、元定义的力量、栈帧重构、容器道场升级、技术债的化身!
java·源纹天书
不良手残8 小时前
MyBatisPlus代码自动生成器
java
SamDeepThinking8 小时前
一次线程池线上故障复盘:四层防线如何避免数据丢失
java·后端·程序员
花生智源8 小时前
Java实现Prompt工程的技巧——从模板到工程化,告别字符串拼接
java·人工智能
折哥的程序人生 · 物流技术专研8 小时前
Java 23 种设计模式:从踩坑到精通 | 番外:策略 vs 模板方法 —— 组合与继承的终极对决
java·策略模式·java面试·comparator·模版方法模式·java设计模式·从踩坑到精通
库克克8 小时前
【C++】类和对象--this指针详解
java·开发语言·c++
SL_staff8 小时前
JVS低代码完整源码解析:如何二次开发自己的表单组件?
java·低代码·vuex
QN1幻化引擎9 小时前
Gravity-Anchored Cognitive Field Architecture: The DalinX V8/V10 Implementation
java·前端·算法