gpt4 book ai didi

java - 使用 OSGI/Maven 管理多个依赖版本

转载 作者:行者123 更新时间:2023-11-29 03:48:25 25 4
gpt4 key购买 nike

我为我正在处理的 OSGI 项目获得了 Maven 构建。我想使用 Google 的 guava-osgi 库 11.0.1 版的一些功能。

我依赖的项目之一依赖于 guava-osgi,版本 10.0.0。我知道为特定依赖项设置多个版本是可行的,但我遇到了一些麻烦。

在我的项目的 pom 中指定对 11.0.1 的依赖编译就好了,但是当我运行我的单元测试时,Java 引入了 10.0.0 版本,这导致运行时错误。具体来说,11.0.1 中的一个类与 10.0.0 中的接口(interface)同名,因此当我尝试实例化它时 Java 会出错。

有没有办法优雅地做到这一点?

最佳答案

  1. maven-dependency-plugin检查依赖树: mvn dependency:tree
  2. 查找在 guava-osgi:10.0.0 版本的测试范围内处于 Activity 状态的所有依赖项
  3. 从测试范围中排除 guava-osgi:10.0.0
...
<dependency>
<groupId>dep1-groupid</groupId>
<artifactId>dep1-artifactid</artifactId>
<version>dep1-version</version>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>com.googlecode.guava-osgi</groupId>
<artifactId>guava-osgi</artifactId>
</exclusion>
</exclusions>
</dependency>
...

关于java - 使用 OSGI/Maven 管理多个依赖版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9846719/

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