Maven入门教程二----Maven依赖

  • 依赖包查询

通过坐标存储,GAV-groupId,artifacld,version
有些网上的仓库自带了,nexus,http://mvnrepository.com
传递性依赖
依赖范围:
依赖的传递性:依赖是会被传递的。
A--C,B--A,那么B--C(基于compile范围进行传递)。pom.xml中scope如果没有声明,那么默认是compile
如果scope的声明为test,那么这个依赖不会传递到另外一个compile包中
test:打成war时不会把测试包打进去,也不会传递。编译和打包都不会使用这个包。
compile:编译范围有效,在编译、打包都需要
provided:在编译和测试的过程中有效,最后生成war包时不会加入。诸如:servlet-api.jar因为tomcat服务器已经存在了,如果再打包会冲突
runtime:运行时依赖,编译的时候不依赖
import
system

  • 依赖传递冲突

1、a--b1.0,b--b1.1 d--a和c,在d中哪一个依赖顺序先写就使用先写依赖的版本
如果d--><d>a<d>和<d>b<d>那么依赖b为1.0
2、a--b1.0,b--b1.1,d--a和c==>b1.0,f-->d,c,选择最短路径f--b1.1
3、如果希望精确的控制依赖包,可以使用依赖的排除功能
dependencies,dependency下exclusions,排除不需要依赖的包,通过GAV声明

  • 依赖的聚合

一个地方编译多个文件,eclipse中maven按照project走,idea中按照module走。
eclipse中可以通过编写一个pom.xml(打包方式为pom,<packaging>pom<packaging>编译和打包所有project。
idea中,一个project可以有多个module,因此默认就存在pom.xml

  • pom继承

父类里面可以定义好,版本,编码等信息,之类,引入parent标签,将继承父类的配置
父类可以导入所有使用到的包,通过dependencyManagement标签声明依赖,子类中就可以只声明groupId和artifactId来找到包,版本从父类继承下来

时间: 2024-12-12 10:01:06

Maven入门教程二----Maven依赖的相关文章

Maven入门教程

Maven入门教程一.maven简介 Maven是一个项目管理工具 它包含: 一个项目对象模型 (Project Object Model) 一组标准集合 一个项目生命周期(Project Lifecycle) 一个依赖管理系统(Dependency Management System) 用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑 项目结构: 源代码放在src/main/java 源代码的资源文件放在src/main/resources 测试代码放在sr

Maven入门系列(二)--设置中央仓库的方法

原文地址:http://www.codeweblog.com/maven入门系列-二-设置中央仓库的方法/ Maven仓库放在我的文档里好吗?当然不好,重装一次电脑,意味着一切jar都要重新下载和发布. 下载的地址是中央仓库mvnrepository.com,当然,全球很多个仓库. 资源的坐标简称GVA 那么,现在如何修改maven的本地仓库路径呢? 关键在于maven文件夹的config下的settings.xml(E:\IDE\apache-maven-3.3.1\conf\settings

Spring Cloud 入门教程(二): 配置管理

使用Config Server,您可以在所有环境中管理应用程序的外部属性.客户端和服务器上的概念映射与Spring Environment和PropertySource抽象相同,因此它们与Spring应用程序非常契合,但可以与任何以任何语言运行的应用程序一起使用.随着应用程序通过从开发人员到测试和生产的部署流程,您可以管理这些环境之间的配置,并确定应用程序具有迁移时需要运行的一切.服务器存储后端的默认实现使用git,因此它轻松支持标签版本的配置环境,以及可以访问用于管理内容的各种工具.很容易添加

Maven学习总结(二)——Maven项目构建过程练习

Maven学习总结(二)——Maven项目构建过程练习 上一篇只是简单介绍了一下maven入门的一些相关知识,这一篇主要是体验一下Maven高度自动化构建项目的过程 一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约定的目录结构和pom.xml文件 Hello | --src | -----main | ----------java | ----------resources | -----test | ---------java | -----

Maven入门指南 :Maven 快速入门及简单使用

Maven入门指南 :Maven 快速入门及简单使用 前言 Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目.主要用于项目构建,依赖管理,项目信息管理. maven项目在编译.测试.打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件, 如果使用代理服务器上网,需要配置代理服务器. 理解"仓库" 首次运行完mvn -version后,会在用户目录下创建一个.m

C语言快速入门教程(二)

C语言快速入门教程(二) C语言的基本语法 本节学习路线图: 引言: C语言,顾名思义就是一门语言,可以类比一下英语; 你要说出一个英语的句子需要:  单词  +  语法!  将单词按照一定的语法拼凑起来就成了一个英语句子了; C语言同样是这样,只不过单词可以理解为一些固定的知识点,而语法可以理解为算法(可以理解为解决问题的方法) 在这一节中我们就对固定知识点中的语言描述与数据存储进行解析! 1.C语言的基本元素 1.1  标识符 什么是标识符? 答:在C语言中,符号常量,变量,数组,函数等都需

DataVeryLite入门教程(二) Entity篇

DataVeryLite 是基于.net 4.0的数据库持久化ORM框架. 目前支持的数据库有Sqlserver,Mysql,Oracle,Db2,PostgreSql,Sqlite和Access. 最好先阅读DataVeryLite入门教程(一) 配置篇,然后再阅读本篇.如果你觉得麻烦也可以跳过. Entity是ORM中的核心对象之一,一个继承Entity的对象对应于数据库中的一个表. Entity提供丰富的API对表中的单条数据进行操作. 比如根据id或其他条件,加载,删除,插入,更新和部分

jQuery 入门教程(二): 基本语法

学习jQuery之前需要你有下面几个方面的基本知识 HTML CSS JavaScript jQuery 的基本语法 $(selector).action() $ 符合定义这是一个jQuery语句 (selector) 用来选择某个HTML元素,其语法和CSS的selector语法一样. action() 定义操作该HTML元素的方法. 比如: $(this).hide() – 隐藏当前元素. $("p").hide() – 隐藏所以 <p> 元素. $(".te

Git的入门教程&lt;二&gt;

Git 的入门教程<二> 4> git远程仓库的使用 我们在使用git进行代码管理的时候,协同办公,需要一个24小时不间断的隐形同事,此时,如果在局域网内,则直接开一台局域网内的24小时开机运行的机器就可以,但是如果在homework的时候就需要这个24小时运行的机器拥有独立的外网IP,这样消耗就比较大,幸好,网上有一个github,提供给我们一个免费的仓库,让我们可以在同事之前推送代码,下面介绍github的使用. 4.1 github的使用 首先 登录github的官网: https