mvn参数-N、-U理解

  1. 关于-N

    -N,--non-recursive Do not recurse into sub-projects

    意思是,不递归到子项目(子模块)。

    举例:

    一个父项目下Father面有3个子项目A、B、C,都生成jar包,则有Father.jar、A.jar、B.jar、C.jar;

    这个时候A项目依赖了B、C项目。

    此时如果使用mvn clean install -N,则只会把Father.jar安装到本地仓库(~/.m2/repository),

    而不会安装其他三个包

    造成的问题是,如果你此时使用如下命令拷贝依赖包,则会报错:说找不到依赖包B.jar/C.jar

    mvn dependency:copy-dependencies -DoutputDirectory=$WORKSPACE/dependencies
  2. 关于-U

    -U,--update-snapshots Forces a check for missing releases

    and updated snapshots on remote repositories

    意思是:强制刷新本地仓库不存在release版和所有的snapshots版本。

    • 对于release版本,本地已经存在,则不会重复下载
    • 对于snapshots版本,不管本地是否存在,都会强制刷新,但是刷新并不意味着把jar重新下载一遍。

      只下载几个比较小的文件,通过这几个小文件确定本地和远程仓库的版本是否一致,再决定是否下载

如图所示:只有18:32时间的文件是强制刷新下来的文件

关于mvn各个阶段的工作

  1. mvn clean: 清除各个模块target目录及里面的内容
  2. mvn validate:
  3. mvn compile: 静态编译,根据xx.java生成xx.class文件
  4. mvn test: 单元测试
  5. mvn package: 打包,生成各个模块下面的target目录及里面的内容
  6. mvn verify:
  7. mvn install: 把打好的包放入本地仓库(~/.m2/repository)
  8. mvn site:
  9. mvn deploy: 部署,把包发布到远程仓库

mvn -N和-U的用法的更多相关文章

  1. mvn exec用法,运行jar后台驻留进程

    java工程如果打包成war,那依赖的jar包都会被包含进去. 不过如果开发java的后台驻留进程,那一般会打包成jar包的形式,要想在运行进程的时候找到所有的依赖包,基本有如下两种方式: 方式一: ...

  2. mvn dependency:tree的用法

    一.参考文档 https://maven.apache.org/plugins/maven-dependency-plugin/examples/resolving-conflicts-using-t ...

  3. maven--composer---setting.xml(updatepolicy)---mvn install , mvn deploy

    场景:最近再整系统的自动部署流程,由于公司的jar包在svn以及mvn的仓库上都存在,开发人员在开发的过程中都依赖mvn仓库中的Jar 包,在jar上线的时候,配置管理人员把jar 从svn管理的工作 ...

  4. Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

    由浅入深,主要介绍maven的用途.核心概念(Pom.Repositories.Artifact.Build Lifecycle.Goal).用法(Archetype意义及创建各种项目).maven常 ...

  5. mvn详解

    1.前言 Maven,发音是[`meivin],"专家"的意思.它是一个很好的项目管理工具,很早就进入了我的必备工具行列,但是这次为了把project1项目完全迁移并应用maven ...

  6. [转]Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置

    转自:http://www.trinea.cn/android/maven/ 两年半前写的关于Maven的介绍,现在看来都还是不错的,自己转下.写博客的一大好处就是方便自己以后查阅,自己总结的总是最靠 ...

  7. 5) mvn archetype:generate

    获取帮助 mvn -h 命令格式 usage: mvn [options] [<goal(s)>] [<phase(s)>] -D,--define <arg> D ...

  8. mvn打war包以及解压包的方法

    有时候我们需要查看打成war包之后的目录,如果是maven项目我们可以直接用maven打包. 1.maven打包: 第一种: mvn package 如果不行先 mvn clean一下 第二种:(掌握 ...

  9. maven用途、核心概念、用法、常用参数和命令、扩展

    设置问题解决. http://trinea.iteye.com/blog/1290898 本文由浅入深,主要介绍maven的用途.核心概念(Pom.Repositories.Artifact.Buil ...

随机推荐

  1. Codeforces 781E Andryusha and Nervous Barriers 线段树 单调栈

    原文链接https://www.cnblogs.com/zhouzhendong/p/CF781E.html 题目传送门 - CF781E 题意 有一个矩形,宽为 w ,高为 h .一开始会有 w 个 ...

  2. 51Nod 部分题目 の 口胡&一句话题解

    原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod-One-Sentence.html 51Nod1404 先列出式子,然后搞成一个组合数.然后 luca ...

  3. 034 Maven中的dependencyManagement和dependencies区别

    这个标签使用过,但是具体的描述还是没有说明过.在这里,专门查了一下,写了这篇文章. 1.定义 在Maven中dependencyManagement的作用其实相当于一个对所依赖jar包进行版本管理的管 ...

  4. Python做性能测试-1、Locust基础篇

    前言:说起性能测试,大家想到的基本上都是工具jmeter和loadrunner多少也对执行性能测试的方式有一点认识,这些工具基本都实现了请求-响应-结果统计分析这样完整的测试链路,用户方面只需组织这些 ...

  5. Linux学习之日志管理(二十一)

    Linux学习之日志管理 目录 日志管理 日志服务 rsyslogd的新特点 启动日志服务 常见日志的作用 日志文件的一般格式 rsyslogd日志服务 /etc/rsyslog.conf配置文件 服 ...

  6. ECMAScript6 入门 Module

    目的:将大程序拆分成互相依赖的小模块文件.CommonJS 和 AMD 两种,前者用于服务器,后者用于浏览器.他俩都是运行时才确定 :ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖 ...

  7. 其实我们可以少写点if else和switch

    前言 作为搬砖在第一线的底层工人,业务场景从来是没有做不到只有想不到的复杂. 不过他强任他强,if-else全搞定,搬就完了.但是随着业务迭代或者项目交接,自己在看自己或者别人的if代码的时候,心情就 ...

  8. C# 简单学习正则表达式

    第一步先要引入有关正则式的命名空间: using System.Text.RegularExpressions;            第二步用指定的正则式构建一个正则表达式对象,下面的正则式是用来搜 ...

  9. C#数组和集合整理

    写起来还是有些勉强的,还有很多用法没有完全理解,只整理了一些基本点. Array ArrayList List Hashtable Dictionary Stack Queue Array 也就是数组 ...

  10. Codeforces.1051G.Distinctification(线段树合并 并查集)

    题目链接 \(Description\) 给定\(n\)个数对\(A_i,B_i\).你可以进行任意次以下两种操作: 选择一个位置\(i\),令\(A_i=A_i+1\),花费\(B_i\).必须存在 ...