余瑜的博客 余瑜的博客
首页
  • 并发
  • 线程池
  • spring
  • maven
  • 其他
  • redis
  • mysql
  • linux
  • zookeeper
  • docker
  • terminal
  • kong插件开发
  • 资料
  • leetCode-简单
  • blog
  • 其他
关于
GitHub (opens new window)
首页
  • 并发
  • 线程池
  • spring
  • maven
  • 其他
  • redis
  • mysql
  • linux
  • zookeeper
  • docker
  • terminal
  • kong插件开发
  • 资料
  • leetCode-简单
  • blog
  • 其他
关于
GitHub (opens new window)
  • 并发

  • 线程池

  • spring

  • maven

    • maven
    • maven-optional可选依赖
      • 规则
      • 应用场景
    • maven查看依赖
    • 神器:maven脚手架
  • 其他

  • JAVA
  • maven
余瑜
2019-12-11
目录

maven-optional可选依赖

# 规则

项目 A 依赖项目 B, 项目 B 依赖项目 C

<dependency>
  <groupId>com</groupId>
  <artifactId>C</artifactId>
  <version>1</version>
  <optional>true</optional>
</dependency>
1
2
3
4
5
6

此时如果项目 A 没有显示的依赖项目 C, 则项目 C 不会被依赖

# 应用场景

项目 B 中对 redis 客户端 定义了两种实现, 如下

    <dependency>
      <groupId>redis.clients</groupId>
      <artifactId>jedis</artifactId>
      <optional>true</optional>
    </dependency>
    <dependency>
      <groupId>biz.paluch.redis</groupId>
      <artifactId>lettuce</artifactId>
      <optional>true</optional>
    </dependency>
1
2
3
4
5
6
7
8
9
10

我们在依赖项目 B 时必须显示的指定具体使用哪个版本的实现

<dependencys>
    <dependency>
      <groupId>com</groupId>
      <artifactId>B</artifactId>
      <version>1</version>
    </dependency>
    
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <optional>true</optional>
    </dependency>
</dependencys>
1
2
3
4
5
6
7
8
9
10
11
12
13
上次更新: 2021/02/16, 15:47:09

← maven maven查看依赖→

Theme by Vdoing | Copyright © 2018-2022 逆光世间 | 备案号: 京ICP备19016086号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式