<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.caiz.maven</groupId> <artifactId>hello-first</artifactId> <version>SNAPSHOT-0.0.1</version> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> </dependencies> </project>
一、maven的pom.xml配置依赖
1、结构
<!--依赖集合-->
<dependencies>
<!--依赖-->
<dependency>
<!--组id-->
<groupId>junit</groupId>
<!--模块id-->
<artifactId>junit</artifactId>
<!--版本号-->
<version>4.10</version>
<!--依赖范围-->
<scope>test</scope>
</dependency>
</dependencies>
2、依赖是通过坐标来搜索的(GAV的方式)
G—— groupId
A——artifactId
V——version
3、依赖的查询
jar包查询顺序
本地仓库——>私服仓库(企业)——>中央仓库
本机在settings.xml文件配置:
<localRepository>E:/apache-maven-3.1.0/Repository</localRepository>
代理方式访问私服
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
中央仓库查询访问
1)http://www.mvnrepository.com/
2)http://www.sonatype.org/nexus/
4、scope代表范围
1)test 测试范围依赖,编译和打包时候无效
2)compile编译时有效,是scope默认值
3)provided 在编译和测试的时候依赖,打成.war的时候不依赖
4)runtime运行时依赖,编译时候不依赖
二、依赖的冲突
1、依赖存在传递性,当依赖冲突时,会先加载配置考前的依赖
a——>b1.0 c——>b1.2 ,e——>a+c,则a依赖b1.0;
2、路径最短原则
a——>b——>c1.0,e——>c1.1 ,f——>a+e 则f依赖c1.1
3、2例中如果f要依赖c1.0 则在依赖e时用,这样可以精确依赖
<exclusions>
<groupId></groupId>
<artifactId></artfactId>
</exclusions>
4、直接添加依赖,不通过传递依赖加入
三、依赖的聚合问题
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.cai.maven</groupId> <artifactId>hello-second</artifactId> <version>SNAPSHOT-0.0.1</version> <!--打包的方式--> <pakaging>pom<packaging> <!--模块方案--> <modules> <module>../user-vo<module> <module>../user-service<module> <module>../user-dao<module> <modules> </project>
三、依赖的继承
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.caiz.core</groupId> <artifactId>user-core</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>user-core</name> <url>http://maven.apache.org</url> <parent> <groupId>com.caiz.user</groupId> <artfactId>user-parent</artfactId> <version>snapshot0.0.1</version> <ralativePath>../user-parent/pom.xml</relativePaht> <parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.10<junit.version> </properties> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> </project>
设定子类不全部继承用dependencyManagement
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.caiz.core</groupId> <artifactId>user-core</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> <name>user-core</name> <url>http://maven.apache.org</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> <dependencyManageMent> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.10</version> <scope>test</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency> </dependencies> </dependencyManageMent> </project>
相关推荐
在这个名为“maven依赖小例子”的源码中,你可以看到如何实际配置和使用Maven依赖的示例。通过分析源码,你可以更好地理解Maven POM.xml文件的结构和依赖管理的工作方式。在实际开发中,熟练掌握Maven依赖管理不仅能...
本资源“maven依赖包(用于博客项目)”显然包含了一系列与博客项目相关的Maven依赖,这些依赖可能包括数据库连接库、模板引擎、日志框架、安全组件以及其他有助于构建博客平台的Java库。 1. **Maven仓库**: ...
首先,我们来讨论"Maven依赖"。在Java开发中,一个项目往往需要引用其他库或者框架来完成特定功能。Maven通过在`pom.xml`文件中声明依赖(dependencies)来管理这些外部库。依赖声明包括groupId、artifactId和...
《Doris 1.1.3 源码编译 Broker Maven 依赖包 Repository 深度解析》 Apache Doris 是一个高性能、分布式、在线分析处理(OLAP)的数据仓库系统,它提供了快速的数据查询能力,适用于大规模数据的实时分析。在Doris...
springboot 的maven依赖包,含有所有maven依赖,网络不好的可以来下。压缩包3.
附件为:dubbox2.8.4 maven依赖文件。 使用方法:按照依赖关系,自行创建maven依赖文件夹后,将附件解压至指定文件夹即可使用。 可解决Missing artifact com.alibaba:dubbo:jar:2.8.4 dubbo问题。
依赖范围(scope)是Maven依赖管理的一个重要概念。scope定义了依赖项的使用范围,主要有以下几个选项:compile、provided、runtime和test。compile表示依赖项在编译时需要,provided表示依赖项在编译和测试时需要,但...
springboot 的maven依赖包,含有所有maven依赖,网络不好的可以来下。
"elasticsearch 5.4.0 maven 依赖jar包" 指的是在 Maven 项目中使用 Elasticsearch 5.4.0 版本时,需要的全部依赖库文件。这些 jar 包包括 Elasticsearch 核心库、X-Pack 插件以及其他相关的第三方库,例如 Lucene、...
jackson2.6.0 jar maven依赖 jackson2.6.0 jar maven依赖jackson2.6.0 jar maven依赖jackson2.6.0 jar maven依赖jackson2.6.0 jar maven依赖
本篇将深入探讨"GeoServer Maven依赖"这一主题,以及如何在Java环境中使用Maven构建GeoServer相关的项目。 首先,Maven是Apache软件基金会的一个项目,它通过一个项目对象模型(Project Object Model,POM)来管理...
标题“jodconverter2.2.2.jar Maven依赖包”涉及到的是一个Java开发中的关键组件,即JODConverter库的一个特定版本。JODConverter是一个开源的文档转换工具,它允许用户在Java应用程序中方便地将各种Office文档格式...
【标题】"maven依赖包2"涉及到的是Java开发中重要的构建工具——Maven的依赖管理部分。在Java世界里,Maven是一个广泛使用的项目管理和综合工具,它可以帮助开发者管理和构建Java项目,通过解决项目的依赖关系,使得...
将开发过程常用的maven依赖汇总下来了,不用每次都去maven仓库查询,可以节省很多时间
SSM基本的Maven依赖文件,测试可用
1. **依赖版本不匹配**:Dubbo项目依赖于许多其他库,如果本地Maven仓库中的依赖版本与项目中声明的不一致,可能导致编译失败。解决方法是更新Maven的settings.xml文件,或者在pom.xml中指定特定版本。 2. **网络...
kettle是国外开源的一款ETL集成工具,其最新版8.2版本改为了maven项目,由于其maven仓库下载实在太慢,这里提供了我费了一两天才下载好的依赖包,直接解压放在本地仓库即可。方便好使,好用的给个五星好评。
基于Maven依赖的SSM项目 AJAX查询增删改查demo,前端Bootstrop 数据校验:jquery+JSR303后端校验,非常有利于框架初学者学习参考
标题"maven依赖包"暗示了我们正在讨论的是Maven如何处理项目的外部依赖。在Java应用开发中,项目通常会依赖许多第三方库,如Spring、Hibernate、Apache Commons等。Maven的中央仓库存储了大量的开源项目JAR包,...
基于ACTIVITI引擎进行开发,利用maven进行依赖管理,本文件列出来具体的依赖项