>>分享流行的Java框架以及开源软件,对孙卫琴的《精通Spring:Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 23637 个阅读者 刷新本主题
 * 贴子主题:  Maven-外部依赖 回复文章 点赞(0)  收藏  
作者:Jacky    发表时间:2018-11-14 22:39:45     消息  查看  搜索  好友  邮件  复制  引用

Maven - 外部依赖
现在,如你所知道的,Maven的依赖管理使用的是 Maven - 仓库 的概念。但是如果在远程仓库和中央仓库中,依赖不能被满足,如何解决呢? Maven 使用外部依赖的概念来解决这个问题。

例如,让我们对在 Maven - 创建工程 部分创建的项目做以下修改:

在 src 文件夹下添加 lib 文件夹
复制任何 jar 文件到 lib 文件夹下。我们使用的是 ldapjdk.jar ,它是为 LDAP 操作的一个帮助库
现在,我们的工程结构应该像下图一样:

点击在新窗口中浏览原图
CTRL+鼠标滚轮放大或缩小

现在你有了自己的工程库(library),通常情况下它会包含一些任何仓库无法使用,并且 maven 也无法下载的 jar 文件。如果你的代码正在使用这个库,那么 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>
上例中, <dependencies> 的第二个 <dependency> 元素 , 阐明了外部依赖的关键概念。

外部依赖(library jar location)能够像其他依赖一样在 pom.xml 中配置。
指定 groupId 为 library 的名称。
指定 artifactId 为 library 的名称。
指定作用域(scope)为系统。
指定相对于工程位置的系统路径。
希望现在你懂得了有关外部依赖的知识,你将能够在你的 Maven 工程中指定外部依赖。




程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->Java注解
  JavaWeb开发-->使用Session(Ⅰ)
  JSP与Hibernate开发-->映射组成关系
  Java网络编程-->对象的序列化与反序列化
  精通Spring-->Vue简介
  Vue3开发-->Vue指令
  超全Redis命令总结,墙裂建议收藏,说不定就用上了呢
  RocketMQ 常用消息类型
  Rust学习笔记 | 异步代码的几种写法
  git 常用指令总结
  @ModelAttribute注解用法详解
  Redis solr一二事 - 在spring中使用jedis 连接调试单机redi...
  说说微服务的优缺点
  Spring Cloud构建微服务架构: 消息总线
  SpringCloud Gateway-整体流程
  如何实现Git服务间同步
  Kafka笔记整理
  反向代理、负载均衡!优秀的 Nginx 是如何做到的?
  Spring @Transactional注解失效解决方案
  一篇文章概括Spring Cloud微服务教程
  Java-CORBA
  更多...
 IPIP: 已设置保密
树形列表:   
[url=http://www.zhent.com]... nihaota 2022-10-28 21:31:32
1页 1条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。