gpt4 book ai didi

java - 排除外部依赖项中所需的库

转载 作者:行者123 更新时间:2023-12-01 06:22:20 25 4
gpt4 key购买 nike

我知道有很多关于 Maven 依赖排除的问题得到了解答。遗憾的是,我找不到适合我情况的答案,因为我不想用我自己的另一个版本替换排除的库。

让我描述一下具体的问题。

我们正在使用 swagger 作为 REST 端点文档。因此,swagger 在 pom 文件中被声明为依赖项。

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
</dependency>

Swagger 本身将 google guava 声明为编译依赖项,如下所示:

springfox-swagger2
-> springfox-spi
-> springfox-core
-> guava

现在 Guava 在我们的项目中可用,人们开始使用它,我们希望阻止这种情况发生。我尝试将 Guava 从 swagger 依赖项中排除,如下所示:

<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
</exclusions>
</dependency>

现在 Eclipse 告诉我 swagger 正在引用 guava 中的一个库,该库不在类路径上。是不是可以告诉maven我不想在我的项目中存在传递依赖,但让swagger随意使用它。

最佳答案

您可以使用 Maven 依赖插件来实现仅分析目标:

https://maven.apache.org/plugins/maven-dependency-plugin/analyze-only-mojo.html

在这里,如果有人直接使用传递依赖(没有明确声明),您可能会导致构建失败。如果有人使用 guava 而不将 guava 放入 pom 中,那么构建尤其会失败。

关于java - 排除外部依赖项中所需的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46808753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com