mvn clean complie

mvn clean test

mvn clean package

mvn clean install(该任务将该项目输出的jar安装到了Maven本地仓库中)

各个命令是递进执行的,执行test会先 执行complie,执行package会先执行test,依次类推。

mvn archetype:generate会默认运行插件maven-archetype-plugin。

m2eclipse也有类似命令:

配置说明:

groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。

type:依赖的类型,对应于项目坐标定义的packaging。默认值为jar。

scope:依赖的范围

optional:标记依赖是否可选。

exclusions:用来排除传递性依赖。

 

传递性依赖:account-mail有一个compile范围的spring-core依赖,spring-core有一个compile范围的commons-logging依赖,那么

commons-logging就会成为compile范围依赖,commons-logging是account-email的一个传递性依赖:

依赖范围传递:

依赖调解:

依赖调解第一原则:路径最近者优先。第二原则:第一声明者优先。

 

依赖的最佳实践:

排除依赖:

项目A依赖于项目B,但是由于一些原因,不想引入传递性依赖C,而是显式地声明对于项目C1.1.0版本的依赖。代码中使用exclusions元素声明排除

依赖,exclusions可以包含一个或者多个exlusion子元素,因此可以排除一个或者多个传递性依赖。

归类依赖:使用美元符号和大括弧环绕的方式引入Maven属性。然后,将所有Spring Framework依赖的版本值用这一属性引用标识。

maven使用入门(pom)的更多相关文章

  1. 【Maven基础入门】02 了解POM文件构建

    温故 上一节我们说过:Maven 是一个基于POM文件的构建工具,当然离不开POM文件 POM文件是一个XML标记语言表示的文件,文件就是:pom.xml 一个POM文件包含了项目的基本信息,用于描述 ...

  2. Maven快速入门(四)Maven中的pom.xml文件详解

    上一章,我们讲了Maven的坐标和仓库的概念,介绍了Maven是怎么通过坐标找到依赖的jar包的.同时也介绍了Maven的中央仓库.本地仓库.私服等概念及其作用.这些东西都是Maven最基本.最核心的 ...

  3. Maven——快速入门手册(学习记录)

    前言: 前段时间进行了一点maven的入门学习,在这里做个记录,希望能帮到一些正在学习的朋友们.maven版本为3.3.9.希望大家觉得好的点个赞,觉得不好的多提提意见和建议做个交流.这里也贴出我学习 ...

  4. (4)Maven快速入门_4在Spring+SpringMVC+MyBatis+Oracle+Maven框架整合运行在Tomcat8中

    利用Maven 创建Spring+SpringMVC+MyBatis+Oracle 项目 分了三个项目  Dao   (jar)   Service (jar)   Controller (web) ...

  5. (1)Maven快速入门_1maven安装

    Maven 快速入门 1.1 Maven官网下载     windows 系统 下载 下图红色框选处. 下载到本地解压, 创建一个本地maven仓库的目录 maven_lib 配置Maven的环境变量 ...

  6. Java实战及解析 — Maven快速入门

    五分钟快速入门 mvn --version mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -Darche ...

  7. 使用IDEA创建Maven项目和Maven使用入门(配图详解)

    本文详解的讲解了使用IDEA创建Maven项目,及Maven的基础入门. 1.打开IDEA,右上角选择File->New->Project 2.如图中所示选择Maven(可按自己所需添加, ...

  8. Maven 学习(一)-Maven 使用入门

    http://www.cnblogs.com/xdp-gacl/p/3498271.html http://www.cnblogs.com/xdp-gacl/p/4240930.html 一.Mave ...

  9. Maven系列学习(二)Maven使用入门

    Maven使用入门 通过上一节的学习,我们已经了解和配置好了Maven,接下来需要编写代码了 1.POM(Project Object Model,项目对象模型) 和Make的Makefile类似,M ...

  10. Maven快速入门(一)Maven介绍及环境搭建

    做开发的程序员都知道,在系统开发需要各自各样的框架.工具.其中有一种工具不管你是初级程序员还是高级程序员都必须熟练掌握的,那就是项目管理工具(maven.ant.gradle).接下来就总结Maven ...

随机推荐

  1. Linux查看CPU和内存使用情况【转】

    转自:http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.html 在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应 ...

  2. 使用jprofiler8远程监控weblogic的配置方法

    jprofiler8的注册码:L-Larry_Lau@163.com#36573-fdkscp15axjj6#25257 未完待续

  3. Oracle之虚拟索引

    一.引言 DBA在日常维护管理数据库进行低性能SQL分析时,有时候需要通过创建索引对SQL进行优化,但有些时候我们创建的索引是否能用到?这个只能创建以后才能看出效果,但是在实际工作中,特别是对大表创建 ...

  4. Yahoo! s4和Twitter storm的粗略比较

  5. window下appserv组合包配置asp标记风格与简短风格

    php一共有四种编码风格 分别为 :XML风格,脚本分铬,简短风格,ASP风格 如果要配置asp标记风格与简短风格,需要在php.ini文件中配置. 打开文件的位置C:\ window\php.ini ...

  6. Quick-cocos2d-x v3.3 SocketTCP链接(转)

    Quick-Cocos2d-x v3.3里面提供了两种长连接WebSockets.SocketTCP,这里说一下SocketTCP的用法. 1 2 3 local net = require(&quo ...

  7. .Uva&LA部分题目代码

    1.LA 5694 Adding New Machine 关键词:数据结构,线段树,扫描线(FIFO) #include <algorithm> #include <cstdio&g ...

  8. poj3263 Tallest Cow

    题意略去. 考虑给定的R对pair(A, B). 即A能看见B,这意味着B不比A低,并且区间内部的所有元素的高度严格小于A的高度. 我们规定区间的方向:若A > B,为反方向,反之称为正方向. ...

  9. 测试-ConstantForce的驱动方式以及是否穿透

    当我把FixedUpdate更新频率设置为1秒一次,测试结果如下: 结论: 1.由物理更新驱动 2.不会产生穿透

  10. HashMap原理详解

    HashMap 概述 HashMap 是基于哈希表的 Map 接口的非同步实现.此实现提供所有可选的映射操作,并允许使用 null 值和 null 键.此类不保证映射的顺序,特别是它不保证该顺序恒久不 ...