【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 ...
随机推荐
- 使用Cloudrea Manager在CDH集群中添加kafka服务节点,更改borker.id配置后无法启动
需要保证meta.properties文件中的broker.id和cloudrea manager的web页面上kafka配置的broker.id一致,最好让server.properties中的br ...
- Scala基础:定义变量和逻辑判断语句以及方法和函数
定义变量和逻辑判断语句 package com.zy.scala import scala.collection.immutable object ScalaDemo { def main(args: ...
- NoSuchBeanDefinitionException:No qualifying bean of type found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency.
报错如下: NoSuchBeanDefinitionException:No qualifying bean of type found for dependency: expected at l ...
- 解剖Nginx·自动脚本篇(2)设置初始变量脚本 auto/init
在configure中运行完auto/options脚本后,接着运行auto/init脚本,其中所做的工作如下. 1 Makefile文件名变量 默认情况下是: objs/Makefile 代码如下: ...
- pkg-config的妙用
1.每个lib下都会有个pkg-config文件夹,里面有相应pc文件 修改里面内容可以改变pkg-config显示 2.将.pc文件所在路径添加到PKG_CONFIG_PATH中如: export ...
- [c++] polymorphism without virtual function
polymorphism without virtual function
- CentOS/RedHat安装Python3
CentOS/RedHat安装Python3 摘自:https://blog.csdn.net/mvpboss1004/article/details/79377019 CentOS/RedHat默认 ...
- mybatis思维导图(一)
写在前面 与hibernate相比,我无疑更喜欢mybatis,就因为我觉得它真的好用,哈哈.它简单上手和掌握:sql语句和代码分开,方便统一管理和优化:当然缺点也有:sql工作量很大,尤其是字段多. ...
- AID-应用标识符的组成规则
AID:即唯一标识一个应用,分为两部分,RID(5字节)+PIX(最多11字节) RID:注册标识符,由ISO组织来分配,标识一个全球唯一的应用提供商,一般是分配给卡组织,比如分配给Master,比如 ...
- Lucene.Net(转)
出处:http://www.cnblogs.com/piziyimao/archive/2013/01/31/2887072.html 做过站内搜索的朋友应该对Lucene.Net不陌生,没做过的也许 ...