Maven的基本原理
Maven的基本原理
- Maven的作用是什么
- Maven的基本原理
- 本地仓库
- 远程仓库
- 中央仓库
- 私服
- maven引入jar包的过程
Maven的作用是什么
1、假设我们有10个项目,都需要引入某个模块,那么需要引入十份重复的模块相关的jar包。
使用Maven:maven使用本地仓库存储的jar,所有项目都会公用仓库中的同一分jar。
2、如果引入的jar包互相依赖,那么两个或多个jar包需要相应的版本才能运行,否则会报错。
使用Maven:maven不需要关心这些问题,会自动引入jar所需的兼容版本jar。
3、如果一个项目里面有个100个jar,不知道那些jar是彼此关联的,那些是互相排斥的,当需要升级版本时,增加或删除一些jar,很容易出各种问题。
使用Maven:maven升级jar,只需要把版本3.x改成4.x,他会自动解决那些问题。
概括的说:Maven是一个项目管理和综合工具。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。Maven增加可重复性并负责建立相关的业务。
Maven的基本原理
本地仓库
本地仓库:顾名思义,就是Maven在本地存储构件的地方。
注:maven的本地仓库,在安装maven后并不会创建,它是在第一次执行maven命令的时候才被创建。
maven本地仓库的默认位置:无论是Windows还是Linux,在用户的目录下都有一个.m2/repository/的仓库目录,这就是Maven仓库的默认位置。
如何更改maven默认的本地仓库的位置:这里要引入一个新的元素:localRepository,它是存在于maven的settings.xml文件中。
<localRepository>D:/myworkspace/maven_repository</localRepository>
远程仓库
中央仓库
中央仓库是默认的远程仓库,maven在安装的时候,自带的就是中央仓库的配置。
私服
私服代理广域网上的远程仓库,供局域网内的Maven用户使用。当Maven需要下载构件的时候,它从私服请求,如果私服上不存在该构件,则从外部的远程仓库下载,缓存在私服上之后,再为Maven的下载请求提供服务。我们还可以把一些无法从外部仓库下载到的构件上传到私服上。
maven引入jar包的过程
maven项目如果引入了一个模块中的jar包,会首先从本地仓库查找对应的jar包,如果找不到的话就去远程仓库拉取(下载到本地),这样下一次在本地使用这个jar包时就可以直接从本地引入了。
如果去远程拉取时都在中央仓库拉取,那么中央仓库的负载会非常大,所以一些公司在局域网中会设置私服,远程拉取首先去私服拉取,如果私服有这个jar包就不再去访问中央仓库,如果没有再由私服去中央仓库拉取,之后再给本地仓库,之后这个局域网中再使用这个jarbao就直接在私服拉取而不需要访问中央仓库,以减少对中央仓库的压力。
Maven的基本原理相关推荐
- MAVEN 傻瓜式快速教程
MAVEN 快速教程 一.MAVEN概念和安装 Maven 是专门用于构建和管理Java相关项目的工具,Maven是意第绪语,依地语(犹太人使用的国际语),表示专家的意思. 所以用Maven管理J ...
- Maven的基本原理和Maven2的新特性
用Maven做项目管理 在Java世界中我们很多开发人员选择用Ant来构建项目,一个build.xml能够完成编译.测试.打包.部署等很多任务,但我们也碰到了很多的问题,如jar文件管理混乱,各个项目 ...
- 【Maven入门】Maven概述
1.定义 Maven 作为 Apache 的一个开源项目,旨在给项目管理提供更多的支持,它最早的意图只是为了给 apache 组织的几个项目提供统一的开发.测试.打包和部署,能让开发者在多个项目中方便 ...
- java变量用来干嘛_Java
一.Maven的简介 1.Maven是什么? Apache Maven是一个软件项目管理的综合工具.基于项目对象模型(POM)的概念,提供了帮助管理构建.文档.报告.依赖.发布等方法,Maven简化和 ...
- Java-Maven详解
文章目录 一.什么是Maven? 1)Maven好处 2)作用 二.Maven的基本原理 三.Maven安装 1)Window安装Maven 1.解压 2.Maven环境变量配置 3.验证 4.配置本 ...
- maven-自定义插件
#Maven插件基本原理 ##一.什么是maven插件 Maven 是一个执行插件的框架,每一个任务实际上是由插件完成的.Maven 插件通常用于: 创建 jar 文件 创建 war 文件 编译代码文 ...
- XGBoost4J-Spark基本原理
XGBoost4J-Spark基本原理 XGBoost4J-Spark是一个项目,旨在通过使XGBoost适应Apache Spark的MLLIB框架,无缝集成XGBoost和Apache Spark ...
- maven(三)最详细的profile的使用
文章目录 前言 1. 原理 2. 应用演示 2.1 项目结构 2.2 激活方式 1. 通过maven命令参数 2. 通过pom文件里的activation属性 3. settings.xml中使用ac ...
- eap aka_使用API密钥(aka身份验证令牌)部署到Maven Central
eap aka 如何在不使用未加密本地密码的情况下与Maven Central / Nexus通信(尤其是使用Gradle,但不仅限于此). 基本原理 不幸的是,Gradle(和许多其他构建工具)没有 ...
最新文章
- 卡成PPT不开心?GAN也能生成流畅的连续表情了 |ECCV Oral · 代码
- Day34 数据库的增、删 、改、查
- 动态折线图 python_python 怎么做个动态折线
- Qt中使用OpenSSL
- Service 的生命周期;两种启动方法和区别
- php 高效缓存类,简单高效的文件缓存php类
- 【Linux】设置虚拟内存
- 大数据学习笔记51:Flume Channel Selectors(Flume通道选择器)
- Teamcenter - Index search 找不到相关物件的解决方法
- 巩固知识体系!淘宝秒杀脚本java
- 牵手大众、现代,滴滴绯闻“女友”Aurora无人车启动商业化
- Java I/O系统之转换流
- iOS GBK转换为Utf8
- jetty文件服务器,在Jetty中访问Web容器外部的文件
- 2013年最新省市区三级联动mysql数据库_省市区三级联动菜单(附数据库)
- 信号与系统学习之第一章(系统的六大基本性质定义与判别:无记忆性、可逆性、因果性、稳定性、时不变性、线性)
- 使用python画二元二次函数(笔记)
- Android HID触摸屏驱动怎么开发
- mysql查询员工表中所有员工入职20个月之后的日期_新员工入职指南
- 为 WSO2 ESB 5.0.0 集群配置 MySQL 数据库