【maven】---pom.xml-dependencies
前言
Maven在做项目开发的时候,需要用到多个jar包,这个时候,maven提供的中央仓库,就会根据依赖项,自动download需要的jar包,自动引用到项目中。
内容
具体依赖配置,集中在pom.xml配置文件中。
DEMO
<dependency>
<groupId>org.zlt.user</groupId>
<artifactId>user-log</artifactId>
<version>0.0.1-SNAPSHOT</version>
<type>jar</type>
<scope>compile</scope>
<!-- 排除一些版本包 -->
<exclusions>
<exclusion>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
</exclusion>
</exclusions>
</dependency>
上面的是一个maven项目,项目package为org.zlt.user,项目名称为user-log,该项目的版本号为0.0.1-SNAPSHOT,项目依赖范围为jar。依赖范围为compile。排除了log4j包。
每个依赖包含的参数为:
- GroupId、artifactId、version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,maven根据坐标才能找到需要的依赖。
- Type:依赖的类型,对应于项目坐标定义的packaging。大部分情况下,该元素不必声明,默认值为jar。(若为了一起打包,起到聚合作用,那么该依赖类型为pom)
- Scope:依赖的范围
|
依赖范围 (Scope) |
对于编译classpath有效 |
对于测试classpath有效 |
对于运行时classpath有效 |
例子 |
|
Compile |
Y |
Y |
Y |
Spring-core |
|
Test |
— |
Y |
— |
JUnit |
|
Provided |
Y |
Y |
— |
Servlet-api |
|
Runtime |
— |
Y |
Y |
JDBC驱动实现 |
|
System |
Y |
Y |
— |
本地的,maven仓库职位的类库文件 |
1、a->b1.0项目之间的依赖关系:
c->b1.1
d->a和c
这个时候在d在pom中,哪一个依赖先写就使用先写的依赖的版本。
2、a->1.0
c->b1.1
d->a和c->b1.0
f->d,c
如果路径的长短不一致就选择最小路径。
注意:如果希望精确的控制依赖包,可以使用依赖的排除功能进行控制(<exclusions>)。
- exclusions:用来排除传递性依赖。
小结
其实上面的依赖就和咱们平时的项目import类似。
【maven】---pom.xml-dependencies的更多相关文章
- 【maven】pom.xml报错:Cannot detect Web Project version.
新建的maven项目 报错如下: Cannot detect Web Project version. Please specify version of Web Project through &l ...
- 【maven】 pom.xml详解
pom.xml详解 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...
- 【Maven】pom.xml(2)
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- 【Maven】pom.xml(1)
在pom.xml加入: <build> <finalName>oauth2</finalName> <resources> <resource&g ...
- 【maven】 pom.xml内容没有错,但一直报错红叉 解决办法
1.首先看一下下面的这两个项目,一个是新建的,一个是原来的老项目 2.myEcplise中是点击如下图 Maven4MyEcplise, Ecplise中也是右键,只不过点击Mavene而已,两个一样 ...
- 【maven】pom.xml文件没错,但是项目有小红叉,Problems中可以看到错误:“Dynamic Web Module 3.0 requires Java 1.6 or newer.”
解决方法: 1.将 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>m ...
- 【maven】pom.xml中"spring-boot-maven-plugin"报红问题
问题原因 插件下载速度太慢了,即是从国外的中央仓库里下载的. 没有刷新maven spring-boot-maven-plugin没加版本号(有些电脑不加版本号,也是不会爆红的) 问题解决 maven ...
- 【Maven】pom.xml 配置 eclipse错误
<!-- servlet --> <dependency> <groupId>javax.servlet</groupId> <artifactI ...
- 【maven】pom.xml的exclusions排除依赖传递
在引用两个有冲突的依赖时,就需要把其中一个的依赖中某个依赖排除掉 exclusions 例如: <dependency> <groupId>org.activiti</g ...
- 【转】pom.xml讲解
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
随机推荐
- NormalMap & CubeMap
[NormalMap & CubeMap] 有时候我们需要CubeMap的环境反射也需要有凹凸信息,此时需要装将NormalMap与CubeMap结合. 因为要使用NormalMap,使用Pr ...
- 类似jQuery的原生JS封装的ajax方法
一,前言: 前文,我们介绍了ajax的原理和核心内容,主要讲的是ajax从前端到后端的数据传递的整个过程. Ajax工作原理和原生JS的ajax封装 真正的核心就是这段代码: var xhr = ne ...
- 各种mac软件地址
http://www.sdifenzhou.com/ 各种软件地址
- 671. Second Minimum Node In a Binary Tree 非递减二叉树中第二小的元素
[抄题]: Given a non-empty special binary tree consisting of nodes with the non-negative value, where e ...
- 在 CentOS 下源码安装 Xen
http://www.vpsee.com/2010/04/install-xen-on-centos-from-source/ 在 CentOS 源码编译安装 Xen 的过程和在 Debian 上编译 ...
- CF 1097D Makoto and a Blackboard
算是记一下昨天晚上都想了些什么 官方题解 点我 简单题意 给定两个正整数$n$和$k$,定义一步操作为把当前的数字$n$等概率地变成$n$的任何一个约数,求$k$步操作后的期望数字,模$1e9 + ...
- [BAT] 通过命令行窗口重启或关闭远程电脑
在命令行窗口输入“shutdown -s”, 关闭远程计算机 在命令行窗口输入“shutdown -r”, 重新启动远程计算机
- 安装CentOS 6.4 64 位操作系统
1.安装 CentOS 6.4 64位操作系统的一些困境: 1.1 CentOS 6.4 64位操作系统的ISO文件有4G多,通过U盘安装的方式已经不可取(FAT32 只支持最大4G文件); 1.2 ...
- CSS选择器种类及介绍
首先说主都有哪些先择器 1.标签选择器(如:body,div,p,ul,li) 2.类选择器(如:class="head",class="head_logo") ...
- 白盒测试实践项目(day4)
华中科技大学教材订购系统 代码评审会议纪要 与会人员: 胡俊辉.杨瑞丰.汪鸿.张颖.李建文 评审标准: 此次代码评审会议,我们小组选用了阿里巴巴Java开发手册对代码进行评审. 会议过程: 1:周末下 ...