【发布时间】:2018-08-29 15:32:18
【问题描述】:
如果我希望项目 A 编译并测试以运行,但是当我将其作为依赖项放入项目 B 时,项目 A 的依赖项不应该可用于项目 B。
例如:
将
org.example.foo作为依赖项添加到项目A(不是B)添加项目
A作为项目B中的依赖项在项目
B的类中添加此语句:import org.example.foo.*你应该在这一行得到一个编译错误:
import org.example.foo.*
【问题讨论】:
-
我不确定,但我觉得经典的Java类路径机制是有限的,所以你的要求不能轻易实现。您可能需要使用 Java 9 中提供的模块路径机制来执行此操作。例如,您可以使用关键字
requires A在模块 B 中声明 A 的模块依赖关系。 -
@MincongHuang:有趣,我可能会更多地探索拼图项目。如果运气不好,我想知道切换到 gradle 是否会打开更多的大门?
-
嗨,你能更清楚为什么@khmarbaise 的回答对你不起作用吗?
-
@sujit:我不想明确定义任何
exclusions,因为我希望默认排除所有内容 -
我认为接受的答案是不正确的
标签: java maven gradle maven-2 maven-3