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. Content Delivery Network

    Coding Standards & Best Practices 7 Reasons to use a Content Delivery Network CDN公共库汇总

  2. eclipse怎么设置字体大小

    eclipse怎么设置字体大小

  3. array_pop()将数组最后一个单元弹出(出栈)

    // 使用系统函数中的引用传参    $array = [1,2,3,4,5,6,7,8,9];//数组    // 调用一个函数    array_pop($array);    //输出原数组   ...

  4. HDU 5724:Chess(博弈 + 状压)

    http://acm.hdu.edu.cn/showproblem.php?pid=5724 Chess Problem Description   Alice and Bob are playing ...

  5. 用C#.NET编写软件注册机

    验证注册码是保护软件产品产权的常用手段.一般过程如下, 1.  软件发行者收集用户特有的信息: 2.  根据用户特有的信息,使用注册机生成注册码并把注册码发给客户: 3.  向软件导入注册码,由软件自 ...

  6. 灰色预测模型 c# 算法实现

     public class GrayModel    {        private double a0, a1, a2;        private int size;        priva ...

  7. InputStream和Reader区别

    InputStream,OutputStream  前者为字节输入流,后者为字节输出流.Reader   Writer  前者为字符输入流,后者为字符输出流. 四个均为抽象类.fileInputStr ...

  8. php使用 set_include_path

    通过set_include_path引用home/lib/image.func.php 1.创建include.php 2.添加如下代码 3.在需要引用的文件中包含include.php文件 < ...

  9. tensor

    初始化 z = torch.Tensor(,,,,) --可以创建多维数组.里面是随机的数. s = torch.Tensor(,):fill() --用1填充 t = torch.rand(,) m ...

  10. android source

    h1 { margin-bottom: 0.21cm } h1.western { font-family: "Liberation Sans", sans-serif; font ...