一、Maven仓库说明

存储jar的仓库(3种仓库)

1.本地仓库:存储在本地磁盘,默认在系统盘c盘 用户名/.m2/xx 通过settings.xml 更改本地仓库localRepository

2.远程仓库:一般都使用国内镜像或者公司自己搭建私服. 一般用Nexus 目的:加快下载速度 私服存在的意义:开发者电脑更新,本地仓库就有jar。目前常用的就是阿里镜像

<mirror><!--This sends everything else to public --><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

3.Maven(中央)仓库:Maven团队维护的jar包仓库Central Repository: 一般用这个查POM:http://mvnrepository.com/ 检索顺序:先检索本地仓库--再检索远程仓库--最后检索中央仓库具体可看下图示例

二、Maven的生命周期与阶段

我们在用maven构建java项目时,最常用的打包命令有mvn package、mvn install、deploy,这三个命令都可完成打jar包或war(当然也可以是其它形式的包)的功能,但这三个命令还是有区别的。下面通过分别执行这三个命令的输出结果,来分析各自所执行的maven的生命周期。

1、mvn clean package

2、mvn clean install

3、mvn clean deploy(忽略最后的BUILD FAILURE)

通过三个命令的输出我们可以看出三者的区别在于包函的maven生命的阶段和执行目标(goal)不同。maven生命周期(lifecycle)由各个阶段组成,每个阶段由maven的插件plugin来执行完成。生命周期(lifecycle)主要包括clean、resources、complie、install、pacakge、testResources、testCompile、deploy等,其中带test开头的都是用业编译测试代码或运行单元测试用例的。

仔细查看上面的输出结果截图,可以发现,

  • mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段。
  • mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段。
  • mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段。

由上面的分析可知主要区别如下:

  • package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
  • install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
  • deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

Maven 仓库概念和打包命令相关推荐

  1. 使用 Sonatype Nexus 3 搭建 Maven 私服、本地私有 Maven 仓库,Gradle 打包 jar 、aar 后自动上传到 Nexus Maven 仓库配置

    1 下载 Nexus 3 https://www.sonatype.com/download-oss-sonatype 官网 (2019年7月18日更新:网站改版了 下载地址:https://down ...

  2. Maven仓库理解和优先级

    前言 使用 maven 也有一段时间了,有时候在配置 repository,mirror,profile的时候,总会导致 jar 拉取不到.所以认真的分析了 maven 获取 jar 包时候的优先级. ...

  3. Maven仓库添加自定义jar包

    2019独角兽企业重金招聘Python工程师标准>>> 例如添加oracl6.jar包到本地maven仓库,执行一下命令 记得对应自己的groupId,artifactId,vers ...

  4. Maven 添加本地 jar 包、添加依赖 jar 文件到本地 Maven 仓库、引用本地 jar

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 把要用的jar放在固定位置: 2.打开CMD,进入到libs文件夹: 3.运行如下命令: mv ...

  5. Maven仓库的布局、分类

    任何一个构件都有其唯一的坐标,根据这个坐标可以定义其在仓库中的唯一存储路径,这便是Maven的仓库布局方式.例如log4j:log4j:1.2.15这一依赖,其对应的仓库路径为log4j/log4j/ ...

  6. Maven是什么? Maven的概念+作用+仓库的介绍+常用命令

    Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型.一组标准集合,一个依赖管理系统.和用来运行定义在生命周期阶段中插件目标和逻辑. 核心功能 Maven的核心 ...

  7. maven 公用仓库_Maven系列(二):Maven 核心概念

    一.仓库 1.1 Maven 仓库 仓库是一个位置(place),可以存储所有的工程 jar 文件.library jar 文 件.插件或任何其他的工程指定的文件. 严格意义上说,Maven 只有两种 ...

  8. 面试题:说说maven 以及打包命令

    面试题:说说maven 以及打包命令 maven的打包命令: mvn clean package 依次执行clean.resources.compile.testResources.testCompi ...

  9. eclipse maven打包_自动化管理项目,Maven仓库配置、安装和使用

    一. Maven有什么作用? 1.让maven仓库自动帮你下载jar包 maven项目会有一个 pom.xml文件, 在这个文件里面,只要你添加相应配置,他就会自动帮你下载相应jar包,不用你铺天盖地 ...

最新文章

  1. 平面分治详解 超级详细(附带例题 最近点对问题(给了题目))(UVA10245,P1257,P1429)
  2. 【正一专栏】曼彻斯特德比落幕——曼城独孤求败继续超神
  3. hdu 3681(bfs+dfs+状态压缩)
  4. 科大星云诗社动态20210317
  5. 用爬虫实现验证码识别并模拟登陆和cookie操作、代理操作、线程池
  6. python读取url中存储的数据_python 给定URL 如何获取其内容,并将其保存至HTML文档。...
  7. 腾讯视频如何退出登陆
  8. PHP强制类型定义数组,php – 如何强制Doctrine更新数组类型字段?
  9. codeforces 1221 A B C D
  10. 新买的笔记本电脑怎么分盘_2020年笔记本电脑选购有哪些建议和推荐?
  11. php laravel手册,学习Laravel
  12. 英国资深律师称加密货币和智能合约必然将成为社会主流
  13. Android旅游自助项目之APP设计方案
  14. 如何在水平线中间添加文字
  15. Python中scatter函数参数搞懂之新手上路
  16. ​网线水晶头排线图片接线标准
  17. mysql gtid 同步_结合案例说说5.7使用gtid同步后,mysql.gtid_executed引起的从库gtid断层...
  18. openstack-iass搭建 二
  19. 《哪吒之魔童降世》席卷全球!用Python数据分析告诉你为什么这么火
  20. 2021年新款创维E900v21e,非高安版-线刷刷机固件- 移动联通版

热门文章

  1. 删除文件的非递归算法
  2. iPhone如何长截屏,这个方法非常简单
  3. App打开小程序,无法跳转回App的问题
  4. MSN 8007007e
  5. 做节能减排的企业怎么申请碳中和服务认证?
  6. Oracle merge into语法修改为MySQL语法解决方案
  7. kitti数据集链接
  8. 安卓、iOS支持录音格式
  9. 最新Viking(维金)病毒专杀工具,纯VB编写。(升级版)
  10. 消除vc2005的sprintf警告