Maven外部依赖
2023-09-14 09:11:59 时间
正如大家所了解的那样,Maven确实使用 Maven 库的概念作依赖管理。但是,如果依赖是在远程存储库和中央存储库不提供那会怎么样? Maven 提供为使用外部依赖的概念,就是应用在这样的场景中的。
举一个例子,让我们在 Maven创建项目 这一章节中创建的项目做以下的修改。
-
添加 lib 文件夹到 src 文件夹
-
复制任何的 jar 到 lib 文件夹。这里使用的是 ldapjdk.jar,这是 LDAP 操作的辅助库。
现在我们的项目结构看起来应该类似下面这样:
在这里,在项目中指定自己所用的库,它可以包含 jar 文件,但是可能无法在任何 Maven 存储库找到,那么需要从部下载。如果代码使用这个 Maven 库但没有办法找到,那么 Maven 构建将会失败,因为它在编译阶段使用指这个库无法下载或无法找到。
要处理这种情况,需要添加外部依赖项,如使用下列方式在 Maven 的 pom.xml 。
<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.companyname.bank</groupId> <artifactId>consumerBanking</artifactId> <packaging>jar</packaging> <version>1.0-SNAPSHOT</version> <name>consumerBanking</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupId>ldapjdk</groupId> <artifactId>ldapjdk</artifactId> <scope>system</scope> <version>1.0</version> <systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath> </dependency> </dependencies> </project>
再看上面例子中的第二个依赖元素(dependency),它清除以下有关外部依赖的重要概念。
-
外部依赖(JAR库的位置)可以在 pom.xml 中配置为与其他依赖的方式相同;
-
指定 groupId 同样作为库的名称;
-
指定 artifactId 同样作为库的名称
-
指定范围的系统;
-
指定相系统项目的位置;
通过本章节的学习,希望现在你清楚了解外部依赖,能够在 Maven 项目指定外部依赖。
相关文章
- idea中的maven模块变成灰色的可能原因
- 【maven】IDEA:存在jar包,pom.xml文件没报错,但是Maven-Project-Dependencies有红线报错
- 快速创建SpringBoot2.x应用之工具类自动创建web应用、SpringBoot2.x的依赖默认Maven版本
- maven引入CDH依赖包
- 【Maven】Maven之使用maven快照版本机制进行多项目依赖开发
- 【Maven】Maven之scope依赖范围
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理 maven找不到符号
- linux安装jdk、tomcat、maven、mysql
- IDEA中利用MAVEN制作和打包普通可执行应用(非SprintBoot的WEB应用)
- 安装jar包到本地maven仓库
- maven的groupid和artifactId
- Maven介绍,包括作用、核心概念、用法、常用命令、扩展及配置
- maven pom指定jdk版本及utf-8字符编码
- 如何替换Maven下载依赖时使用的仓库地址
- Maven Dependencies 不见了
- Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
- 【异常】Maven构建出错,Could not transfer artifact xxx from/to central (https://repo.maven.apache.org/maven2)
- 【技术文档】jeecg3.7-maven搭建好开发环境入门
- 解决Maven重复依赖问题(同一个jar包,多个版本)maven同一依赖多版本共存 maven处理mysql-connector-java多版本问题 解决无法将“mvn”项识别为xxx jarjar
- 【Android Gradle 插件】自定义 Gradle 插件模块 ④ ( META-INF 中声明自定义插件的核心类 | 在应用中依赖本地 Maven 仓库中的自定义 Gradle 插件 )
- 微服务下 Spring Boot Maven 工程依赖关系管理
- 001-软件架构概览、maven补充【分包工程、合并包、web容器插件】、git补充
- Maven 依赖管理
- maven依赖管理(依赖配置、依赖传递、依赖冲突、依赖范围)
- maven的下载、配置