坐 标
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与ant比较,windows下安装配置,坐标依赖,仓库,部署第三方构建
主要介绍了深入理解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的资源包还有 jacob-1.18-x64.dll和jacob-1.18-x86.dll. 把对应的windows版本扔到 C...如果使用maven 则在pom.xml中添加 <groupId>com.hynnet</groupId> <artifactId>jacob <version>1.18 </dependency>
使用Maven核心概念介绍(坐标、依赖、仓库、插件、...任亮系列-maven坐标.mp41010.任亮系列-maven依赖介绍.mp41111.任亮系列-maven依赖范围.mp41212.任亮系列-maven依赖传递和可选依赖和排除依赖.mp41313.任亮系列-mav
何为Maven 构建,依赖管理,项目信息聚合 Maven核心概念 坐标,依赖,仓库,生命周期,插件 Maven最佳实践 创建、打包、发布、版本管理 项目实战 Nexus(Todo…) M2eclipse(Todo…)
Maven坐标:com.twelvemonkeys.common:common-lang:3.1.1; 标签:twelvemonkeys、common、lang、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
POM对象模型,每个maven工程中都有一个pom.xml文件,定义工程所依赖的jar包、本工程的坐标、打包运行方式。。 2、依赖管理系统(基础核心 ) maven通过坐标对项目工程所依赖的jar包统一规范管理。 3、maven定义...
Maven坐标:io.springfox:springfox-oas:3.0.0; 标签:oas、springfox、jar包、java、中英对照文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
用于 Elasticsearch 2.2 的 中文分词器,已构建好,直接放入 Elasticsearch 的plugins 目录下使用
Maven坐标:net.java.dev.jna:jna-platform:4.3.0; 标签:java、jna、platform、中英对照文档、jar包; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的...
Maven坐标:org.apache.flink:flink-connector-jdbc_2.12:1.14.3; 标签:apache、flink、connector、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档...
Maven坐标:commons-net:commons-net:3.3; 标签:commons、net、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和...
Maven坐标:org.springframework:spring-messaging:4.3.12.RELEASE; 标签:springframework、spring、messaging、中英对照文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,...
第5章:坐标和依赖/5.9 最佳实践/5.9.2 依赖属性使用变量 第5章:坐标和依赖/5.9 最佳实践/5.9.3 依赖关系查看 第6章:仓库/6.1 何为Maven仓库 第6章:仓库/6.2 仓库的布局 第6章:仓库/6.3 仓库的分类 第6章:仓库/...
Maven坐标:commons-beanutils:commons-beanutils:1.7.0; 标签:beanutils、commons、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 ...
Maven坐标:org.skyscreamer:jsonassert:1.5.0; 标签:skyscreamer、jsonassert、jar包、java、API文档、中英对照版; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化...
用于调用JAX-RPC wscompile工具的Maven插件。 移至https://github.com/anomen-s/maven-jaxrpc-plugin
3、maven坐标 4、maven命令:重点理解【生命周期和阶段】和【插件和目标】 5、在eclipse中通过m2eclipse插件使用maven 6、配置和使用私服 7、实战maven,把以前一个不是用maven做的模块,移植为maven项目 这是...