`
yang8820
  • 浏览: 82803 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Maven坐标与依赖

阅读更多

坐 标

Maven坐标为各种构件引入了秩序。每个构件都必须明确定义自己的坐标,Maven坐标是通过一些元素来定义的,元素为:groupId、artifactId、version、packaging、classifier。

groupId:定义当前Maven项目隶属的实际项目,与域名相对应。如百度地图项目:com.badu.map

artifactId:该元素定义实际项目中的一个Maven项目(模块),推荐做法是使用实际项目名称作为artifactId的前缀。

version:该元素定义Maven项目当前所处的版本。如果是在开发阶段使用快照(SNAPSHOT)方式。

pachaging:该元素定义Maven项目的打包方式。默认值jar.

classifier:该元素用来帮助定义构建输出的一些附属构件。

依 赖

依赖声明:

<project>
  ...

  <dependencies>
   <dependency>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <version>...</version>
    <type>...</type>
    <scope>...</scope>
    <optional>...</optional>
    <exclusions>
     <exclusion>
      ...
     </exclusion>

     ...
    </exclusions>
   </dependency>
   ...

  </dependencies>
  ...
</project>

说明:1.groupId、artifactId、version为依赖的基本坐标。

         2.type:依赖类型,对应于项目坐标定义的packaging. 大部份情况下无需声明,基默认值为jar.

         3.scope:依赖范围,见A

         4.optional:标记依赖是否可选(如果构件A依赖于构件B,构件B依赖构件C为可选,则A不会传递依赖C)。

         5.exclusions:用来排除传递性依赖。

大部份情况下声明只包含基本坐标。

A、依赖范围说明:

compile:编译依赖范围(为默认依赖范围)。对于编译、测试和运行都有效;

test:测试依赖范围。只对测试classpath有效。如:JUnit;

provided:已提供依赖范围。对于编译和测试classpath有效,但在运行时无效。如果:servlet-api(运行时由于容器已提供,所以无需重复引入);

runtime:运行时依赖范围。对于测试和运行classpath有效,但编译主代码时无效。如:JDBC;

system:系统依赖范围。该依赖与三种classpath的关系和provided依赖范围完全一致。但必须通过systemPath元素显示地指定依赖文件的路径(systemPath元素可以引用环境变量,如:<systemPath>${java_home}/lib/rt.jar</systemPaht>)。此项目应该谨慎使用,因为它引用本地,Maven仓库之外的类库文件,可能造成构建的不可移植。

import(Maven2.0.9及以上):导入依赖范围。该依赖范围不会对三种classpath产生实际影响。

由于依赖具有传递性,可能出现一个Maven项目间接依赖某构件的不版本。Maven提供了两个依赖调解原则:

一、路径最近者优先;二、路径长度一样时,第一声明者优先。

此外,还可以在声明依赖时使用exclusions元素声明排除依赖。

分享到:
评论

相关推荐

    Maven介绍安装配置坐标依赖等等

    Maven简介,maven与ant比较,windows下安装配置,坐标依赖,仓库,部署第三方构建

    深入理解Maven的坐标与依赖

    主要介绍了深入理解Maven的坐标与依赖,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Maven: 仓库搜索服务

    如何输入关键字,寻找需要依赖jar的MAVEN坐标,需要提供确切的MAVEN坐标 1.Sonatype Nexus 地址: https://repository.sonatype.org 2. Jarvana 地址: http://www.jarvana.com/jarvana 3.MVNbrowser 地址: ...

    三. 坐标和依赖

    NULL 博文链接:https://sgq0085.iteye.com/blog/1860636

    jacob-1.18.jar/dll maven

    jacob-1.18的资源包还有 jacob-1.18-x64.dll和jacob-1.18-x86.dll. 把对应的windows版本扔到 C...如果使用maven 则在pom.xml中添加 &lt;groupId&gt;com.hynnet&lt;/groupId&gt; &lt;artifactId&gt;jacob &lt;version&gt;1.18 &lt;/dependency&gt;

    Maven入门巨无霸视频教程(2.24G)

    使用Maven核心概念介绍(坐标、依赖、仓库、插件、...任亮系列-maven坐标.mp41010.任亮系列-maven依赖介绍.mp41111.任亮系列-maven依赖范围.mp41212.任亮系列-maven依赖传递和可选依赖和排除依赖.mp41313.任亮系列-mav

    Maven原理和实践-培训课件.ppt

    何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo…) M2eclipse(Todo…)

    common-lang-3.1.1-API文档-中文版.zip

    Maven坐标:com.twelvemonkeys.common:common-lang:3.1.1; 标签:twelvemonkeys、common、lang、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    maven课程讲义.doc

    POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。。 2、依赖管理系统(基础核心 ) maven通过坐标对项目工程所依赖的jar包统一规范管理。 3、maven定义...

    springfox-oas-3.0.0-API文档-中英对照版.zip

    Maven坐标:io.springfox:springfox-oas:3.0.0; 标签:oas、springfox、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    maven 构建好的 IK 分词器,可直接使用

    用于 Elasticsearch 2.2 的 中文分词器,已构建好,直接放入 Elasticsearch 的plugins 目录下使用

    jna-platform-4.3.0-API文档-中英对照版.zip

    Maven坐标:net.java.dev.jna:jna-platform:4.3.0; 标签:java、jna、platform、中英对照文档、jar包; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...

    flink-connector-jdbc-2.12-1.14.3-API文档-中英对照版.zip

    Maven坐标:org.apache.flink:flink-connector-jdbc_2.12:1.14.3; 标签:apache、flink、connector、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...

    commons-net-3.3-API文档-中英对照版.zip

    Maven坐标:commons-net:commons-net:3.3; 标签:commons、net、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...

    spring-messaging-4.3.12.RELEASE-API文档-中英对照版.zip

    Maven坐标:org.springframework:spring-messaging:4.3.12.RELEASE; 标签:springframework、spring、messaging、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,...

    maven window下安装包

    第5章:坐标和依赖/5.9 最佳实践/5.9.2 依赖属性使用变量 第5章:坐标和依赖/5.9 最佳实践/5.9.3 依赖关系查看 第6章:仓库/6.1 何为Maven仓库 第6章:仓库/6.2 仓库的布局 第6章:仓库/6.3 仓库的分类 第6章:仓库/...

    commons-beanutils-1.7.0-API文档-中英对照版.zip

    Maven坐标:commons-beanutils:commons-beanutils:1.7.0; 标签:beanutils、commons、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...

    jsonassert-1.5.0-API文档-中英对照版.zip

    Maven坐标:org.skyscreamer:jsonassert:1.5.0; 标签:skyscreamer、jsonassert、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...

    jaxrpc-maven-开源

    用于调用JAX-RPC wscompile工具的Maven插件。 移至https://github.com/anomen-s/maven-jaxrpc-plugin

    maven3教程(私塾在线)视频配套学习资料

    3、maven坐标 4、maven命令:重点理解【生命周期和阶段】和【插件和目标】 5、在eclipse中通过m2eclipse插件使用maven 6、配置和使用私服 7、实战maven,把以前一个不是用maven做的模块,移植为maven项目 这是...

Global site tag (gtag.js) - Google Analytics