gpt4 book ai didi

java - 默认情况下可以使用什么范围使依赖关系不可传递?

转载 作者:塔克拉玛干 更新时间:2023-11-01 23:01:41 26 4
gpt4 key购买 nike

如果我想让项目 A 编译并测试运行,但是当我将它作为依赖项放入项目 B 时,那么项目 A' s 依赖项不应该对项目 B 可用。

例如:

  1. org.example.foo 作为依赖添加到项目 A(不是 B)

  2. 将项目 A 添加为项目 B 中的依赖项

  3. 在项目 B 中的类中添加此语句:import org.example.foo.*

  4. 你应该在这一行得到一个编译错误:import org.example.foo.*

最佳答案

您可以通过这样的排除来排除特定的传递依赖:

<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<exclusions>
<exclusion> <!-- declare the exclusion here -->
<groupId>sample.ProjectB</groupId>
<artifactId>Project-B</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>

或者你可以像这样排除所有传递依赖(需要 Maven 3.2.1+ ):

<project>
...
<dependencies>
<dependency>
<groupId>sample.ProjectA</groupId>
<artifactId>Project-A</artifactId>
<version>1.0</version>
<exclusions>
<exclusion>
<groupId>*</groupId>
<artifactId>*</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
</project>

除此之外,如果您可能需要更改项目 A 以使用不同的依赖项等,我会真正考虑您的项目结构。

关于java - 默认情况下可以使用什么范围使依赖关系不可传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49390653/

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