Maven的pom.xml文件结构之基本配置dependencies和dependencyManagement

原创 2016年08月30日 00:09:42

1.Maven项目的dependencies

Maven项目的构建往往要依赖于第三方的类库。通过<dependencies>可以给出Maven项目所依赖的第三方类库,示例如下:

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.0</version>
      <type>jar</type>
      <scope>test</scope>
      <optional>true</optional>
    </dependency>
    ...
  </dependencies>
说明:

  • 对于一个依赖<dependency>,首先要给出被依赖的Maven构件(被依赖的只能是Maven构件)的具体标识信息,如groupId、artifactId和version(可以是一个范围)。为了进一步区分Maven构件的内容(如source、bin和doc),往往还会给出Maven构件的classifier。
  • type,打包类型,默认jar
  • scope,被依赖的Maven构件在classpath中的可访问范围
    • compile,默认值,被依赖的Maven构件在compile、runtime和test的时候都可以在classpath中找到
    • provided,被依赖的Maven构件在compile和test的时候都可以在classpath中找到,在runtime的时候由JDK或容器提供
    • system,被依赖的Maven构件在compile和test的时候都可以在classpath中找到,在runtime的时候必须显式将JAR加入到classpath中
    • runtime,被依赖的Maven构件在runtime和test的时候都可以在classpath中找到,在compile时不是必须的
    • test,被依赖的Maven构件在test的时候可以在classpath中找到,在compile和runtime时不是必须的
  • systemPath,只有当<scope>system</scope>时才设置,否则构建时会报错。该值必须是一个绝对路径,可以通过环境变量给出具体的绝对路径
  • optional,当前Maven项目的构件被其他项目依赖,此处被依赖的Maven构件相对于其他项目来说是不必须的
  • exclusions,将一个被依赖的Maven构件中的部分类库,从classpath中去掉


2.Maven项目的dependencyManagement
<dependencyManagement>主要用于存在父子继承的Maven项目中。在父项目中通过<dependencyManagement>设置被依赖的Maven构件,在子项目中设置被依赖的Maven构件时,只要给出构件的groupId和artifactId,而version则默认引用父项目的设置。


版权声明:本文为博主原创文章,未经博主允许不得转载。

maven POM.xml 标签详解

  • sunzhenhua0608
  • sunzhenhua0608
  • 2014年06月21日 17:00
  • 44476

Maven实战(六)--- dependencies与dependencyManagement的区别

在上一个项目中遇到一些jar包冲突的问题,之后还有很多人分不清楚dependencies与dependencyManagement的区别,本篇文章将这些区别总结下来。   1、DepencyManag...
  • liutengteng130
  • liutengteng130
  • 2015年07月22日 08:44
  • 66382

Maven中的dependencyManagement

dependencyManagement使用简介Maven中的dependencyManagement元素提供了一种管理依赖版本号的方式。在dependencyManagement元素中声明所依赖的j...
  • wo541075754
  • wo541075754
  • 2016年05月24日 15:32
  • 3135

maven 中 pom.xml 配置文件标签说明,dependencyManagement和dependencies区别

maven 中 pom.xml 配置文件标签说明,dependencyManagement和dependencies区别
  • u011314442
  • u011314442
  • 2016年09月03日 19:06
  • 3476

maven中DependencyManagement和Dependencies

maven中DependencyManagement和Dependencies
  • keda8997110
  • keda8997110
  • 2014年04月05日 19:40
  • 12580

maven项目采用dependencyManagement错误'dependencies.dependency.version' for ...jar is missing.

对于多个平行 module 的 maven 项目,为保证所有依赖版本一致,肯定会用到 dependencyManagement。对于dependencyManagement自行了解。我的项目换成这种配...
  • kusedexingfu
  • kusedexingfu
  • 2016年07月31日 12:05
  • 4244

'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier)' must be unique:

编译hadoop2.6遇到错误:  'dependencyManagement.dependencies.dependency.(groupId:artifactId:type:classifier...
  • promotelife
  • promotelife
  • 2016年03月15日 17:06
  • 3224

Maven中的dependencyManagement和dependencies区别

pom.xml //只是对版本进行管理,不会实际引入jar org.springframework ...
  • softmanfly
  • softmanfly
  • 2015年11月24日 17:47
  • 4332

Maven Dependency设置,详解!

mavenDependency配置详解
  • fhjdzkp
  • fhjdzkp
  • 2017年11月29日 10:43
  • 514

Maven排除依赖配置

Maven没有任何声明排除jar包的情况下,默认是将全部jar包引入进来,有时候当前项目使用的jar包与依赖的第三方的jar包不同,会出现同个项目构建后出现一个jar包几个不同版本同时存在的问题,有时...
  • limm33
  • limm33
  • 2016年11月12日 23:19
  • 1712
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Maven的pom.xml文件结构之基本配置dependencies和dependencyManagement
举报原因:
原因补充:

(最多只允许输入30个字)